Я использую этот плагин для создания пробкового на основе URL, на CakePHP 2 веб-приложения: https://github.com/josegonzalez/cakephp-dynamic-routeDynamicRoute плагин для CakePHP давая 404 ошибки
документация предполагает, что вы могли бы назвать контроллер торт, как так: posts/view?id=45
В настоящее время мой URL-адрес работает как поведение по умолчанию Cake. Так, используя пример выше posts/view/45
работает, но posts/view?id=45
нет.
Когда я вызываю URL-адреса, как в примере, я получаю ошибку 404.
Мои функции написаны таким образом (например, в PostsController.php):
public function view($id) { // logic to load post by ID // ... }
Там почти нет documentaiton для плагином выше. Кто-нибудь использовал его или знал, где я ошибаюсь? Кажется, вы не можете передать переменную GET, такую как 'id', в функцию 'view', не перефразируя код внутри нее, чтобы принимать переданные параметры?
Я бы сказал, что вы просто не понимали, что делает этот плагин. Из использования плагина: «* Спецификация будет ** внутренним ** CakePHP-сопоставлением, например' posts/view? Id = 45' * ", но, как вы писали, по умолчанию используется' posts/view/45'. Плагин просто позволяет вам назначить пул для конкретной спецификации. –
Во всяком случае, зачем нужен URL-адрес с параметрами, когда вы устанавливаете плагин для пули? Это не имеет смысла. Не используйте URL-адреса с параметрами (поскольку они все равно не работают). –
Я понимаю, что делает плагин. Мне нужны дружественные URL-адреса, как и те, которые приведены в их документации (например,/why-isnt-this-pup-aleep или/manchester/cakephp-developers-dance-dance-to-beyonce). Но для того, чтобы установить это, вы должны направить те из базы данных на соответствующее действие контроллера с идентификатором. Попробуйте использовать значение Cake по умолчанию для маршрута, и оно не работает. Другими словами, у вас может быть «спецификация» сообщений/просмотров? Id = 45, но не сообщений/просмотров/45. Но ваш контроллер не будет работать, передавая ему id =. –