Kohana Роут для админки (кохана 3.3)

Jeysmook

Новичок
Подскажите пожалуйста, что я делаю неправильно? Когда перехожу по ссылке http://site/admin, то получаю ошибку "
Kohana_HTTP_Exception [ 404 ]: The requested URL admin was not found on this server.
"
PHP:
Route::set('admin', 'admin(/<controller>(/<action>(/<id>)))')
    ->defaults(array(
        'directory'  => 'admin',
        'controller' => 'main',
        'action'     => 'index',
    ));
PHP:
В файле classes/Controller/Admin/Main.php
class Controller_Admin_Main extends Controller_Admin_Common {

    public function action_index()
    {
        $this->template->title = 'Главная страница админа';
        $this->template->content = View::factory('pages/admin/main/main');
    }

} // End Main
 

Здыхлик

Kohaner
Команда форума
1. Стандартная причина - роут объявлен после дефолтного (или любого другого, который может "перехватить" данный УРЛ).
2. Всегда имеет смысл проверить созданный роут с помощью метода matches():
PHP:
if ( ! Route::matches(Request::factory('/admin/'))) {// что-то не так с роутом}
3. Вообще, универсальная проверка - с помощью стандартного Кохановского дампа на странице с ошибкой роутинга. Разворачиваете строку SYSPATH/classes/Kohana/Request/Client/Internal.php [ 97 ] » ReflectionMethod->invoke(arguments) и смотрите ее первый аргумент (контроллер). У него есть свойство $request, а в нем $_route (это и есть выбранный роут) и куча свойств роутинга ($_directory, $_controller, $action, $_params). По ним можно быстро понять, какой собственно роут был выбран, и правильно ли его обработала Кохана.
 

Здыхлик

Kohaner
Команда форума
Эх, расписываешь, расписываешь, а дебаг останавливается на первом же пункте )))
 

Jeysmook

Новичок
Здыхлик, Не обижайтесь пожалуйста, просто мне помог перенос, а остальное я не особо понял, спасибо)
 
Сверху