CodeIgniter, удаляющий index.php, не работает
Я использую Ubuntu 13 со следующей настройкой для локального сайта codeigniter.
Apache/2.4.6 (Ubuntu)
5.5.3-1ubuntu2.2
'CI_VERSION', '2.1.2'
И URL-адреса больше не работают безindex.php
, Раньше работали, но после обновления сUbuntu 12.x
в13.x
и несколько обновлений apache за последний год,localhost
сайты больше не работают правильно.
если я пойду вlocalhost/index.php/controllername/
это работает, но если я иду на localhost / controllername / это не так.
mod_rewrite
включен.
Конфигурация CodeIgniter имеет:
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO'; // tried all available options here and
Ничего не получалось
в.conf
файл для домена у меня такой:
<Directory />
Options -Multiviews +FollowSymLinks
AllowOverride All
</Directory>
и вот.htaccess
строки с комментариями к файлам - те, которые я пробовал, которые не работали.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# RewriteCond $1 !^(index\.php|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
# RewriteRule .* index.php/$0 [PT,L]
# RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
Я погуглил и прочитал все, что смог найти, и перепробовал все, что смог найти, включая несколько постов здесь о переполнении стека, в том числе в «Вопросах, на которые, возможно, уже есть ваш ответ». По-прежнему ничего не получалось. Но, как я уже сказал, это работало в прошлом, но только после нескольких обновлений ОС и Apache я впервые заметил, что он перестал работать.
Я буду уходить от CodeIgniter с будущими проектами, но эти проекты уже существовали. Озадаченный относительно того, что могло быть проблемой.
РЕШЕНИЕ:
оказывается, это не было проблемой codeigniter вообще. Это была проблема Apache, но не с правилами переписывания. в моем apache2.conf мне пришлось изменить блок для / var / www /
Требовать все предоставленное, кажется, сделал свое дело.
DirectoryIndex index.php index.html Параметры Индексы FollowSymLinks AllowOverride All Требуется все предоставлено
просто ради изменений я также внес изменения здесь: Опции FollowSymLinks AllowOverride All Требуется все предоставлено
найден на аскубунтуhttps://askubuntu.com/questions/421233/enabling-htaccess-file-to-rewrite-path-not-working