2010-01-11 5 views
0

기본값이 될 라우팅 접두사를 만들려고합니다.기본 접두사가있는 언어 접두어를 사용하는 CakePHP 라우팅

http://localhost/mycont가 영어 페이지로 연결 것 동안

http://localhost/heb/mycont는 히브리어 페이지로 떠날 것이다.

Router::connect('/:language/mycont',array('controller'=>'contname','action'=>'index'),array('language'=>'[a-z]{0,3}')); 

이 코드를 사용하면 언어에 0-3자를 사용할 수 있지만 언어가 필요합니다.

http://localhost/a/mycont

http://localhost/mycont

모든 아이디어를 어떻게 해결하는 방법이 작동하지 않습니다 일 것이다? 기본 라우팅에서도 가능합니까?

답변

0

내 솔루션은 설치에 단순히이었다 특정 언어에 /, 다른 모든 것이 /표시 상태 : 언어/I가 중복 경로를하지 않았다

그 방법을.

2

나는 라우팅 전문가가 아니라는 말을하면서 머리말을 붙이지 만,이 경우 라우트가 언어 매개 변수를 예상하기 때문에 작동하지 않을 수도 있습니다. 거기에 없으면 경로가 일치하지 않습니다.

"수정"(실제로 깨지지 않았으므로 인용), 기본 로케일 설정을 시도하고 AppController:language 값이 있으면 덮어 씁니다.

+0

이것은 나에게 빠르고 효과적인 솔루션처럼 보입니다! 내가 생각할 수있는 유일한 합리적인 옵션은 Router :: connect 함수를 재정의하여 기본값이 설정되지 않도록 설정하는 것입니다 (존재하지 않을 경우). 하지만 그건 과도 할 수도 있습니다. –

관련 문제