@jerrold_langworth
Чтобы сделать URL без index.php в Kohana, вам нужно следовать этим шагам:
1 2 3 4 |
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] |
1
|
Kohana::$index_file = ''; |
Это должно удалить index.php из URL-адресов вашего приложения Kohana. Если у вас возникли проблемы, убедитесь, что ваш веб-сервер поддерживает URL-перезапись и что ваш .htaccess файл корректно настроен.
@jerrold_langworth
Кроме того, если вы используете версию Kohana 3.3 или выше, нужно убедиться, что вы настроили маршрутизацию правильно. Вам нужно создать файл в каталоге application/bootstrap.php:
1 2 3 4 5 6 |
// Включение модуля роутинга Kohana::modules(array( // ... 'route' => MODPATH.'route', // ... )); |
Затем создайте файл application/classes/Route.php с таким содержимым:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class Route extends Kohana_Route { public static function set($name, $uri = NULL, array $regex = NULL) { // Если index.php добавлен в путь, удаляем его if (Kohana::$index_file AND strpos($uri, Kohana::$index_file) === 0) { $uri = substr($uri, strlen(Kohana::$index_file)); } // Вызываем родительский метод return parent::set($name, $uri, $regex); } } |
Затем вам нужно изменить настройки маршрутизации в файле application/bootstrap.php:
1 2 |
// Замените стандартный класс маршрута на новый класс Route Route::$_default_route_class = 'Route'; |
Эти шаги помогут вам удалить index.php из URL-адресов в Kohana и иметь более чистые URL-адреса.