Как включить mod_rewrite в Apache?

152

Я только что установил стек LAMP в своей системе Ubuntu.

Перенаправление не работает для меня. Я не знаю, как это исправить. Кто-нибудь может мне помочь?

    
задан vinoth 12.06.2011 в 15:45
источник

2 ответа

227

Чтобы включить модуль перезаписи, запустите «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.

ответ дан Lekensteyn 12.06.2011 в 15:49
источник
45

Я смею добавить специальный ответ (как продолжение замечательного ответа выше) относительно 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/

to

DocumentRoot /var/www/

, а затем, конечно, должно быть

<Directory "/var/www">
    AllowOverride All
</Directory>
    
ответ дан davidkonrad 17.10.2014 в 15:00
источник

Ознакомьтесь с другими вопросами по меткам