私は URL ベースの言語を使用しており、URL に受信パラメーターを含むページがあります。
URL のクエリ文字列 ('?x=y') または名前付きパラメーター ('x:y') が好きではないので、http://localhost/cakeapp/us/controller/action/param1/param2/param3を使用します
私のAppControllerでは、URL に言語が定義されているかどうかを確認しています。言語が定義されていない場合 (たとえば、ユーザーがhttp://localhost/cakeapp/controller/action/param1/param2/param3を要求している場合)、ユーザーを単純にリダイレクトしたい同じパラメーターを使用して、言語で定義された URL に。
要するに:リダイレクトしたい:
http://localhost/cakeapp/controller/action/param1/param2/param3
に
http://localhost/cakeapp/us/controller/action/param1/param2/param3
私が使う;
$this->リダイレクト(
Router::url(array('language' => $this->Session->read('Config.language'), 'base' => false))
);
ただし、パラメーターなしでユーザーをhttp://localhost/cakeapp/us/controller/actionにリダイレクトします。
着信$this->passedArgs変数で Router::url を使用して URL を構築する方法はありますか。