Как правильно настроить .htaccess для Kohana, чтобы в URL не было некрасивого «index.php/»?

StackOverflow https://stackoverflow.com/questions/966429

  •  12-09-2019
  •  | 
  •  

Вопрос

Спустя 2 часа я не мог понять это правильно.

Установка Kohana доступна непосредственно под моим доменом, т.е."http://something.org/"

Вместо http://something.org/index.php/welcomde/index Я хочу иметь URL-адреса типа http://something.org/welcome/index

Мой .htaccess полностью испорчен.На самом деле это стандартный файл example.htaccess, который поставляется вместе с загрузкой.Это почти бесполезно.На странице Kohana есть инструкция «как удалить index.php».Это действительно тоже бесполезно, так как о том, как его удалить, даже не будет говориться.Совершенно запутанно.

Пожалуйста, может кто-нибудь предоставить свой рабочий .htaccess для стандартной установки коханы?

Это было полезно?

Решение

Мой htaccess выглядит как в примере.

RewriteEngine On

RewriteBase /

RewriteRule ^(application|modules|system) - [F,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule .* index.php/$0 [PT,L]

Но вам также придется изменить config.php файл в:

$config['index_page'] = '';

Другие советы

Сейчас это наш файл .htaccess, и он, похоже, работает.

RewriteEngine On

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT,L]

Обратите внимание, что наши каталоги приложений, системы и модулей находятся за пределами корня веб-сайта.

Я думаю, что на некоторых хостах, особенно при запуске PHP в режиме CGI, вам нужно изменить

RewriteRule ^(.*)$ index.php/$1 [L]

к

RewriteRule ^(.*)$ index.php?/$1 [L]

в вашем htaccess.Итак, в основном вы можете использовать рекомендуемая Кохана настройка, просто заменив index.php/$1 с index.php?/$1

Попробуйте это правило mod_rewrite:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^index\.php index.php%{REQUEST_URI} [L]

Для тех, кто получает «запрещенную ошибку» 403 в OSX с .htaccess по умолчанию, обязательно добавьте первую строку в .htaccess.

Опции +FollowSymLinks

В Kohana 3.2 другое соглашение.Если вы посмотрите Kohana_URL, вы найдете следующую сигнатуру функции:

public static function site($uri = '', $protocol = NULL, $index = TRUE)

где $index по умолчанию имеет значение TRUE.Передав $index FALSE, вы удалите ссылку на index.php.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top