Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 20 апр 2024, 04:13

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: route неработает
СообщениеДобавлено: 30 ноя 2013, 03:59 
Не в сети
Зеленый

Зарегистрирован: 30 ноя 2013, 01:57
Сообщения: 3
Здравствуйте!
у меня проблема, не могу настроить роуты.
Код:

Route
::set('main','<action>',array(
    'action' => '(main)',
    ))
    ->defaults(array(
        'controller' => 'main',
        'action'     => 'reg',
    ));
 
Route
::set('default', '(<controller>(/<action>(/<id>)))')
    ->defaults(array(
        'controller' => 'welcome',
        'action'     => 'index',
    )); 

я пробовал по всякому :
Код:
Route::set('main','main')
    ->
defaults(array(
        
'controller' => 'main',
        
'action'     => 'reg',
    ));
Route::set('main','<action>',array(
         
'action' => 'main'
       
))
    ->
defaults(array(
        
'controller' => 'main',
        
'action'     => 'reg',
    )); 

и еще всяких других вариантов. Только работает 127.0.0.1/kohana/ то есть по умолчанию, а другие 127.0.0.1/kohana/main
ни в какую. что делать? что не так? всю ночь просидел :( .
\kohana\application\classes\Controller\Main.php
Код:
<?php defined('SYSPATH') or die('No direct script access.');


class Controller_Main extends Controller {

    
    public function action_reg
()
    {
       $form="main";        
       $this
->response->body($form);    
    
}

}
 
 

версия коханы 3.3.1
я как то раньше пользовался коханой, проблем таких небыло.
итог, я вообще не могу никакой роут запустить, кроме дефолтного.
спасибо за внимание!


Последний раз редактировалось Sergey 30 ноя 2013, 07:04, всего редактировалось 2 раз(а).
Обернул код в [code][/code]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route неработает
СообщениеДобавлено: 30 ноя 2013, 07:22 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
В чём собственно проблема не совсем понятно.
Сервер настроен правильно? Используете Apache? Если да, то mod_rewite включён?

Что указано в: ?
Код:
Kohana::init(array('base_url'   => '/')); 


В .htaccess прописано то, что нужно?

Если указать до роута который зовётся default вот этот
Код:

    Route
::set('main', 'main(/<action>)', array(
        'action'  => 'reg|list'
    ))
    ->defaults(array(
        'controller' => 'mycontroller',
        'action'  => 'reg',
    ));
 


По идее, должно отрабатывать по адресу http://ваш_сайт/main или например http://ваш_сайт/main/list
В первом варианте должен быть контролёр mycontroller а в нём action_reg, в втором варианте action_list. Объяснять почему именно так не нужно? Это понятно? Кстати, на заметку, имена роутов можно использовать со слешами. Это удобно, например для обозначения структуры сайта: route/name/1, admin/dashboard/posts, frontend/blogs.

Ещё одно замечание. В примере, который я указал выше, можно писать так  'action'  => 'reg|list' а можно так  'action'  => ('reg|list'). Разница только в одном, скобки нужны для группировки регулярного выражения. Вы используете регулярное выражение? Нет? Тогда не используйте скобки. Оно будет работать и так и эдак. Но зачем лишний код?

Иногда бываю проблемы с роутами при такой ситуации:
Код:
Route::set('route/name/1', 'main1')->defaults(array());
Route::set('route/name/2', 'main2')->defaults(array());
Route::set('route/name/3', 'main3')->defaults(array()); // Предположим тут ошибка
Route::set('route/name/4', 'main4')->defaults(array());
Route::set('route/name/5', 'main5')->defaults(array());
Route::set('route/name/6', 'main6')->defaults(array());
Route::set('route/name/7', 'main7')->defaults(array()); 


Если при написании route/name/3 вы допустили ошибку, роуты которые ниже, работать тоже не будут.
По крайней мере я встречал такие ситуации.

По этому, когда вы тестируете ваш пример, попробуйте отключить все остальные роуты и все модули имеющие свои роуты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route неработает
СообщениеДобавлено: 30 ноя 2013, 18:48 
Не в сети
Зеленый

Зарегистрирован: 30 ноя 2013, 01:57
Сообщения: 3
Спасибо попробую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: route неработает
СообщениеДобавлено: 30 ноя 2013, 20:18 
Не в сети
Зеленый

Зарегистрирован: 30 ноя 2013, 01:57
Сообщения: 3
да точно в mod_rewrite было дело. спасибо


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group