Я пытаюсь настроить свои пользовательские маршруты в CakePHP так, чтобы URL
/ objects / id / action => ObjectsController.action () с параметрами ['id'] = id
(Это так, что мне не нужно иметь такие URL, как / objects / action / id, которые логически имеют для меня меньшее значение, чем объекты / id / action).
Я все еще хочу / objects / actionдля запуска ObjectsController.action () (например, для добавления, индексации, поиска).
Моя конфигурация маршрутов выглядит следующим образом:
Router::connect('/:controller/:id',
array('action'=>'view'),
array(
':id' => '^[0-9]+$'
)
);
Router::connect('/:controller/:id/:action/*',
array('action'=>'view'),
array(
':id' => '^[0-9]+$',
':action' => '[A-Za-z0-9_\-]*'
)
);
Это работает с (например):
- / objects / 54
- / objects / 54 / edit
- / objects / add
Но не с
- / objects / index / page: 2
Для которого он выдает ошибку, в которой мне нужно определить действие "page: 2" в ObjectsController ... Конечно, оно должно работать, потому что: id должен совпадать только с цифрами, нет?