@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-адреса.