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 [Email protected] 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