Apache 2.4 mod_rewrite not working
То что Ubuntu всегда поддерживает последние версии ПО это хорошо, но не всегда удобно. По этой причине я в свое время отказался от Ubuntu Server в пользу Debian, но на рабочей машине я наткнулся на очередную проблему — настройку mod_rewrite на Apache 2.4. Собственно тут я кратко расскажу что нужно делать. чтобы mod_rewrite заработал.
1. Его нужно включить, а сделать это можно следующей командой:
sudo a2enmod rewrite
2.Теперь нужно перезапустить сервис Apache2.2, выполнив следующую команду:
sudo service apache2 restart
3. Если у вас используются виртуальные хосты, то в их конфиге необходимо добавить строчку AllowOverride All. Например приведу пример на /etc/apache2/sites-available/default, откроем его:
sudo vim /etc/apache2/sites-available/default
Найдем строчку «<Directory «/var/www/html»>» и ниже добавим строку «AllowOverride All«, проще говоря, конфиг нужно привести к следующему виду:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/html> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> ErrorLog /var/log/apache2/0default-error.log LogLevel warn CustomLog /var/log/apache2/0default-access.log combined </VirtualHost>
Если виртуальные хосты у вас не используются, то добавьте строчку «AllowOverride All» в файл /etc/apache2/apache2.conf.
4. Теперь перезапустим сервис:
sudo service apache2 restart
И все! Про то, как это можно сделать в старой версии Apache можно почитать тут.
Источник:
- http://www.dev-metal.com/enable-mod_rewrite-ubuntu-14-04-lts/
- http://codematrix.ru/Записки/ubuntu/60-Включение-mod_rewrite-в-ubuntu.html