Как включить 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>
Другие вопросы по тегам