URL 기반 언어를 사용하고 있으며 URL에 들어오는 매개 변수가있는 페이지가 있습니다. 들어오는 매개 변수로 리디렉션 - CakePHP
URL에 검색어 문자열 ('? x = y') 또는 이름이 지정된 params ('x : y')가 필요하지 않으므로 http : // localhost/cakeapp/us/controller/action/param1/PARAM2/3 당겨 내 AppController가 URL이 언어 정의 된 경우에는 언어가 정의되지 않은 경우 내가 점검하고 (예를 들어, 사용자가 요청 에서 http
: // localhost를/cakeapp/컨트롤러/액션/PARAM1/PARAM2/param3) 그러면 동일한 매개 변수로 언어를 정의한 URL로 사용자를 리디렉션하고 싶습니다.
즉:
HTTP : // localhost를/cakeapp/컨트롤러/액션/PARAM1/PARAM2/3 당겨
HTTP
에 : 나는 리디렉션 할 // localhost/cakeapp/us/controller/action/param1/param2/param3
나는 사용한다.
$ this-> 리디렉션 (
);라우터 :: URL (배열 ('언어'=> $ this-> 세션 -> ('Config.language'읽기), '기본'= > false))
하지만 HTTP로 사용자를 리디렉션 : // localhost를/cakeapp/우리/컨트롤러/매개 변수없이 행동.
입력 : $ this-> passedArgs 변수를 사용하여 Router :: url을 사용하여 URL을 빌드하는 방법이 있습니까?
괜찮아요,하지만 내가 리디렉션하는 방법에 그들을 통과하지 않았는데 왜 올바른 컨트롤러와 작업에 리디렉션합니까 궁금해? 하지만 매개 변수를 전달해야합니까? –
나는 얼마나 많은 params 소득을 모른다. 어떻게 매개 변수를 전달하여 메서드를 리디렉션 할 수 있습니까? 그들은 $ this-> passedArgs에 있습니다.배열을 매개 변수를 문자열로 예상하고, _implode ("/", $ this-> passedArgs) _를 사용하는 경우에는 URL의 % 2F (인코딩)로 변환합니다. –