Я только что установил стек LAMP в моей системе Ubuntu.
Перенаправление не работает для меня. Я не знаю, как это исправить. Может кто-нибудь помочь мне?
/etc/apache2
и который можно включить с помощью a2*
программ.
Я только что установил стек LAMP в моей системе Ubuntu.
Перенаправление не работает для меня. Я не знаю, как это исправить. Может кто-нибудь помочь мне?
/etc/apache2
и который можно включить с помощью a2*
программ.
Ответы:
Чтобы включить модуль перезаписи, запустите «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 снова.
sudo a2enmod rewrite
и FileInfo
исправил это для меня!
Я осмелюсь добавить специальный ответ (как продолжение к великому ответу выше) относительно 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>
Ubuntu 14.04.4 LTS