mod_rewrite для codeIgniter - PullRequest
       0

mod_rewrite для codeIgniter

0 голосов
/ 20 июля 2011

Кто-нибудь в истории интернета и веб-разработки смог избавиться от «index.php» с помощью mod_rewrite в codeIgniter.

Я уже несколько дней пытаюсь, и, похоже, ничего не работает.

Ответы [ 5 ]

7 голосов
/ 20 июля 2011

Я использую это (в файле .htaccess):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule> 

Не уверен, где я его взял, но он работает для моей установки codeigniter, локальной и живой. Не забудьте установить $config['index_page'] = ''; в вашем конфигурационном файле.

3 голосов
/ 20 июля 2011

Для mod_rewrite используйте следующее в вашем файле .htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

Если ваш экземпляр codeigniter запущен в подкаталоге, используйте команду rewrite base перед RewriteRule

RewriteBase /subdirectory/

Затем установите

$config['index_page'] = '';

В конфигурационном файле.

2 голосов
/ 26 июня 2014

Возможно, ваш файл .htaccess находится не в том месте. CodeIgniter по умолчанию имеет .htaccess, помещенный в папку приложений, которую я по ошибке принял за ту, которую я должен отредактировать.

Вам действительно нужно создать новый .htaccess в корневой папке. Так что не code_igniter / application / .htacces ... а code_igniter / .htaccess

Надеюсь, это поможет.

0 голосов
/ 26 мая 2013

Я использовал приведенные выше настройки, и они всегда работали - если только у меня не был включен mod_rewrite.

Если у вас возникли проблемы, убедитесь, что у вас включен mod_rewrite. Если вы этого не сделаете, не имеет значения, что вы положили в .htacess или в свой конфиг Apache

0 голосов
/ 20 июля 2011

Да, я настроил его под Linux, используя инструкции здесь . Однако я настроил его через httpd.conf вместо использования .htaccess.

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