Я понял, что это было, так как я открыл эту ветку: я думал, что есть две проблемы, которые возникнут при любой установке 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
, и правила по-прежнему загружались нормально.