У меня есть сервер Apache, на котором установлена последняя версия 2.2 на Ubuntu 12.04.4 LTS. Я не менял большую часть конфигурации. При запуске все работало нормально, но теперь никаких изменений в конфигурации не замечает.
Например, вот .htaccess
файл.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule myfile [F]
Header set X-Asdf rewrite_found
</IfModule>
Это не имеет никакого эффекта (хотя у меня mod_rewrite
), и ничего другого в .htaccess
.
Кроме того, я добавил это в httpd.conf
:
ServerSignature Off
ServerTokens Prod
Никакого эффекта тоже.
Я пробовал эти вещи без какого-либо эффекта:
service apache2 reload
service apache2 restart
Добавление к httpd.conf
:
<Directory *>
AllowOverride All
</Directory>
Apache все еще считывает конфигурацию, так как любые синтаксические ошибки будут сообщать об ошибке при перезагрузке.
Что могло вызвать это?
РЕДАКТИРОВАТЬ:
root@my-server:~# apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server 127.0.0.1 (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost 127.0.0.1 (/etc/apache2/sites-enabled/000-default:1)
Syntax OK
Я сам отправляю этот ответ как Шейн Мэдден, который мне об этом в комментариях не сказал.
Исправление заключается в том, чтобы внести изменения в /etc/apache2/sites-enabled/000-default
вместо того httpd.conf
, поскольку первое читается после второго и директивы в нем имеют приоритет.