У меня проблема с файлом .htaccess на недавно установленном сервере Ubuntu под управлением Apache2.

Файл .htaccess в каталоге, в котором находятся файлы WordPress, не учитывается при загрузке страниц сервером. В AllowOverride оператора AllowOverride, но по умолчанию установлено значение All , и оно ничего не изменит, если я его включу.

Я попытался включить содержимое локального файла .htaccess в разделе. Я также попробовал это:

<Directory /var/www/mydomain.com/html>
AllowOverride All
</Directory>

Я также попытался изменить все экземпляры AllowOverride в /etc /apache2 /sites-available /default (которые по умолчанию имеют значение None ) на All .

Но мне не повезло.

Не уверен, как решить эту проблему.

2 ответа2

0

Я понял, что это было, так как я открыл эту ветку: я думал, что есть две проблемы, которые возникнут при любой установке vanilla LAMP, установленной в соответствии со статьей базы знаний Media Temple (что я и использовал для настройки (ve) сервер).

Во-первых, это был модуль перезаписи. Казалось, что мои файлы .htaccess не читаются сервером, потому что должен быть включен модуль перезаписи: это похоже на значение по умолчанию для новой установки, такой как только что выполненная. Кто знал?

Включение модуля довольно просто: мне просто нужно было создать символическую ссылку на файл rewrite.load из каталога mods-available в каталог с поддержкой mods (все, в данном случае, в каталоге apache2, в /etc/apache2).

Побежал следующее:

$ cd /etc/apache2/mods-enabled
$ ln -s /etc/apache2/mods-available/rewrite.load rewrite.load

Во-вторых, я пришел к выводу, что мне также нужно изменить все экземпляры AllowOverride в /etc/apache2/sites-available/default (для которых по умолчанию установлено None ) на All (см. Эту статью, в которой объясняется проблема).

Наконец был вопрос о том, как применять правила. На самом деле я решил удалить свой файл .htaccess и поместить все его правила в раздел <Directory> в http.conf (который теперь является отдельным файлом, все еще называемым в apache2.conf, и который я буду использовать для включения всех моих настроек). потому что установка AllowOverride на None и использование apache2.conf для всего вызывает увеличение скорости, так как серверу больше не нужно проверять файл .htaccess на каждом уровне перед загрузкой страницы. Затем я удалил .htaccess , установил AllowOverride на None , и правила по-прежнему загружались нормально.

0

Вы должны убедиться, что mod_rewrite включен:

sudo a2enmod rewrite

Затем перезапустите Apache

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .