Cakephp Routing - PullRequest
       23

Cakephp Routing

0 голосов
/ 23 ноября 2010

Я хочу, чтобы пользователи могли просматривать http://www.yyy.com/xxx, поскольку ххх является параметром. и так с www.yyy.com/xxx/zzz. У меня есть следующая маршрутизация, которая отлично работает:

Router::connect('/:town', array('controller'=>'places', 'action'=>'index'), array('pass' => array('town')));
Router::connect('/:town/:category', array('controller'=>'places', 'action'=>'index'), array('pass' => array('town', 'category')));

Но когда я хочу перейти к другому примеру контроллера www.yyy.com/differentcontroller/add, он возвращается к контроллеру мест, если я не сделаю для него маршрутизацию ...

есть идеи?

Ответы [ 2 ]

1 голос
/ 23 ноября 2010

Второе правило в вашем списке маршрутизации просто ищет два набора любых комбинаций символов после имени домена и рассматривает первое как город, а второе как категорию.В результате он по ошибке анализирует «differentcontroller» как название города и «add» как категорию.Если вы хотите сохранить эту структуру URL, вам нужно добавить более конкретные маршруты в свой файл маршрутизации, чтобы охватить ситуации, такие как «добавить», или рассмотреть возможность изменения существующего макета URL на что-то более конкретное, например:

Router::connect('/places/:town', array('controller'=>'places', 'action'=>'index'), array('pass' => array('town')));
Router::connect('/places/:town/:category', array('controller'=>'places', 'action'=>'index'), array('pass' => array('town', 'category')));
0 голосов
/ 23 ноября 2010

Мои воспоминания о маршруте торта довольно ржавые, но вы можете использовать: controller /: action, как правило, чтобы заставить торт искать действительную пару контроллер / действие, если я правильно помню.

...