Маршрут Кохана для сообщений в блоге не работает

#kohana #kohana-3 #routes #custom-routes

#кохана #kohana-3 #маршруты #пользовательские маршруты

Вопрос:

Когда я изучал kohana и делал отдельную статью, я столкнулся с этой проблемой.

Я хотел, чтобы мой URL-адрес выглядел article/post_id/slug(optional) так, как я сделал маршрут.

Route::set('article', '/<controller>/<article_id>(/<article_slug>(/<id1>(/<id2>(/<id3>))))', array('article_id' => '[0-9]', 'article_slug' => '[a-zA-Z0-9_] '))
->defaults(array(
'controller' => 'article',
'action' => 'read',
));

Я даже пробовал без 3-го параметра Route::set , но в любом случае возвращает ошибку, показанную на картинке.

Сообщение об ошибке

Спасибо. (:

Ответ №1:

Попробуйте без ведущего /:

 Route::set('article', '<controller>/<article_id>(/<article_slug>(/<id1>(/<id2>(/<id3>))))', 
array(
   'article_id' => '[0-9]', 
   'article_slug' => '[a-zA-Z0-9_] ')
)->defaults(
array( 
   'controller' => 'article', 
   'action' => 'read', 
));
  

Комментарии:

1. следуя совету @matino, вы, вероятно, захотите добавить знак плюс к регулярному выражению article_id

2. Я пробовал без, но все равно получил эту ошибку, даже пытался изменить <controller> ширину article/ , но все равно ничего

3. Может быть, у вас есть другой маршрут, который соответствует URL-адресу до выполнения маршрута статьи? Попробуйте прокомментировать все маршруты, кроме статьи, и посмотрите, поможет ли это.

4. Это первый определенный маршрут, ссылка — это bootstrap.php файл

5. Он отлично работает на моем компьютере… Вы добавили , как предложил @Darsstar? Только что увидел ваш загрузчик — я думаю, вам нужно установить для index_file значение FALSE (‘index_file’ => FALSE).