Apache 2.4 mod_rewrite not working

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