Недавно я начал работать с инфраструктурой kohana 3.3.1 и столкнулся с некоторыми проблемами.Маршрутизация в Кохане 3.3.1
Я хочу создать различные маршруты для разных точек входа. Прямо сейчас, это маршрут по умолчанию, который, кажется, работает хорошо (я думаю):
Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'welcome',
'action' => 'index',
));
Когда я иду на веб-сайт, он отображает «Привет, мир!».
У меня есть контроллер под названием Street, расположенный в приложении/классах/Controller/Street.php.
Код для этого контроллера:
<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Street extends Controller {
public function action_index()
{
$this->response->body('hello, street!');
}
Проблема заключается в том, что я хочу, чтобы напечатать/что-то позади URI, и он должен перенаправить к определенному контроллеру, и действия. Но, похоже, это не работает. Я получаю ошибку 404, когда я печатаю «НИЧЕГО» за URI по умолчанию.
Для маршрутов, я использую этот
/**
* Set the routes. Each route must have a minimum of a name, a URI and a set of
* defaults for the URI.
*/
Route::set('test1', 'street/<id>')
->defaults(array(
'controller' => 'street',
'action' => 'index',
));
Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'welcome',
'action' => 'index',
));
Любая помощь будет с удовольствием оценили.
EDIT
Я просто попытался @Darsstar «S инструкцию, чтобы перейти к /index.php/street, и это сработало! Но теперь, когда я пытаюсь идти к /index.php/street/derp, я получаю сообщение об ошибке говорящего
Запрошенный URL Derp не был найден на этом сервере.
Так что это не работает должным образом, я предполагаю, что
Правильно ли ваш контроллер (проверьте чувствительность к регистру, правильную папку, правильные методы)? – kero
Спасибо за ваш ответ @kingkero. 'code'Route :: набор ('test1', 'тест/') \t -> по умолчанию (массив ( \t \t 'контроллер' => 'тест', \t \t 'действие' => 'Индекс' , \t)); '/ code' Если у меня есть контрольный контроллер в контроллере карты (так же, как приветствуется) и action_index (как и в приемном контроллере), он должен работать правильно? Но когда я просматриваю ../test, он сообщает мне, что запрошенный ресурс не найден! –
Wekslie
Добро пожаловать, но это решило проблему? Если нет, укажите дополнительный код (например, контроллер, к которому вы хотите получить доступ) – kero