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

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

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

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

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

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

Ответы [ 7 ]

9 голосов
/ 09 июня 2009

Мой 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'] = '';
5 голосов
/ 09 июня 2009

Это наш файл .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]

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

3 голосов
/ 09 июня 2009

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

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

до

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

в вашем htaccess. Таким образом, вы можете использовать рекомендованную коану установку , просто заменив index.php/$1 на index.php?/$1

2 голосов
/ 08 июня 2009

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

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^index\.php index.php%{REQUEST_URI} [L]
1 голос
/ 06 марта 2010

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

Опции + FollowSymLinks

0 голосов
/ 17 июля 2012

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

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

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

0 голосов
/ 09 июня 2009

Предлагаю взглянуть по этой ссылке: http://codeigniter.com/wiki/mod_rewrite/

Учитывая, что Kohana является форком CodeIgniter, вы, возможно, исправите это; у меня это сработало (на CodeIgniter).

...