Как включить mod_rewrite в Apache?
Я только что установил стек LAMP в моей системе Ubuntu.
Перенаправление не работает для меня. Я не знаю, как это исправить. Может кто-нибудь мне помочь?
2 ответа
Чтобы включить модуль перезаписи, запустите "apache2 enable module rewrite":
sudo a2enmod rewrite
Вам необходимо перезапустить веб-сервер, чтобы применить изменения:
sudo service apache2 restart
Если вы планируете использовать mod_rewrite в .htaccess
файлы, вы также должны включить использование .htaccess
файлы путем изменения AllowOverride None
в AllowOverride FileInfo
, Для веб-сайта по умолчанию отредактируйте /etc/apache2/sites-available/default
:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
# changed from None to FileInfo
AllowOverride FileInfo
Order allow,deny
allow from all
</Directory>
После такого изменения вам нужно перезапустить Apache снова.
Я осмелюсь добавить специальный ответ (как продолжение к большому ответу выше) относительно Ubuntu 14.04 и .htaccess
:
В 14.04 имя файла конфигурации по умолчанию изменяется на 000-default.conf
:
sudo gedit /etc/apache2/sites-available/000-default.conf
добавьте следующее в конец файла:
<Directory "/var/www/html">
AllowOverride All
</Directory>
По какой-то причине в Ubuntu 14.04 и apache2 корень установлен на /www/html
, Если вы хотите изменить корень веб-сервера обратно на старый /www
, open 000-default.conf
и изменить
DocumentRoot /var/www/html/
в
DocumentRoot /var/www/
и тогда, конечно, это должно быть
<Directory "/var/www">
AllowOverride All
</Directory>