CakePHP Routing, используя префикс языка с префиксом по умолчанию - PullRequest
0 голосов
/ 11 января 2010

Я пытаюсь создать префикс маршрутизации, который будет использоваться по умолчанию.

http://localhost/heb/mycont уходил на страницу на иврите, а

http://localhost/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 не работает

Есть идеи, как это исправить? Возможно ли это даже при маршрутизации по умолчанию?

Ответы [ 2 ]

3 голосов
/ 11 января 2010

Позвольте мне предварить это, заявив, что я не эксперт по маршрутизации, но в этом случае имеет смысл, что то, что у вас есть, не сработает, потому что маршрут ожидает языковой параметр; маршрут не будет совпадать, если его там нет.

Чтобы "исправить" (цитируется, поскольку он не является действительно сломанным), вы можете попытаться установить локаль по умолчанию и в вашем AppController перезаписать, если присутствует значение :language.

0 голосов
/ 17 февраля 2010

Мое решение состояло в том, чтобы просто установить / для определенного языка, в то время как все остальное помечено /: Язык /

Таким образом, я не делал дублированные маршруты.

...