Как удалить index.php из URL в Kohana 3.1 - PullRequest
1 голос
/ 16 апреля 2011

В настоящее время, используя Kohana 3.1, я могу получить доступ к своим контроллерам, используя:

http://localhost/kohana/index.php/admin

Однако я хотел бы получить к ним доступ без "index.php" в середине,как в:

http://localhost/kohana/admin

Как я могу это сделать?Нужно ли мне изменять мой файл .htaccess или какой-либо параметр конфигурации?

Я использую .htaccess, предоставленный Kohana:

# Turn on URL rewriting
RewriteEngine On

# Installation directory
RewriteBase /

# Protect hidden files from being viewed

    Order Deny,Allow
    Deny From All


# Protect application and system files from being viewed
RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L]

# 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]

Ответы [ 6 ]

6 голосов
/ 18 апреля 2011

Однако, если вы используете Rewritebase /kohana/, вы все равно получите index.php в URL.Я использую Kohana 3, поэтому я перехожу на bootstrap.php и изменяю это:

Kohana::init(array(
    'base_url'   => '/',
    'index_file' => '',
));
5 голосов
/ 16 апреля 2011

Измените директиву RewriteBase, где находится приложение. Ваш будет:

# Installation directory
RewriteBase /kohana/

Также убедитесь, что у вас есть правильный base_url в вашей начальной загрузке.

1 голос
/ 21 апреля 2011

На каком-то сайте я увидел предложение .htaccess:

# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php?kohana_uri=$0 [PT,L,QSA]
0 голосов
/ 21 августа 2013

Вам нужно использовать 'index_file' => FALSE в bootstrap.php

Источник: http://kohanaframework.org/3.0/guide/kohana/tutorials/clean-urls

0 голосов
/ 29 апреля 2011

Включите перезапись URL, добавив следующий код:

В .htaccess:

RewriteEngine On
# Installation directory
RewriteBase /

В Bootstrap:

Kohana::init(array( 'base_url' => '', 'index_file' => '' ));
0 голосов
/ 21 апреля 2011

Кажется, вы пропустили папку kohaha . Это должно быть так: Kohana :: Init (массив ( 'base_url' => '/ kohana /', 'index_file' => '', ));

...