Я пытался добавить правила, подобные приведенным ниже, в файл /etc/apache2/apache.conf, но они не были замечены, тогда как если я добавлю их в отдельный .htaccess файлы им подчиняются, и любой, кто пытается получить доступ к файлу readme.html, будет перенаправлен .. Я добавил следующие правила, но ни одно из них не замечено, включая ServerSignature ServerTokens .. ОС - debian 7 wheezy
ServerSignature Off
ServerTokens Prod
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule readme\.html? - [NC,F]
RewriteRule changelog\.txt? - [NC,F]
</IfModule>
Если у вас есть виртуальные хосты, обратите внимание, что по умолчанию Rewrite конфигурации не наследуются виртуальными хостами. Для того, чтобы "наследовать" директивы в конфигурациях vHost, каждая конфигурация vHost должна:
RewriteEngine on
RewriteOptions Inherit
Смотрите документацию Apache для директивы RewriteOptions
для более детального ознакомления.
Чтобы запретить доступ к этим двум файловым серверам без использования mod_rewrite
, можно также использовать
контейнер с соответствующей директивой управления доступом.
Для Apache 2.4:
<FilesMatch "(readme\.html|changelog\.txt)$">
Require all denied
</FilesMatch>
Во-первых, я не понимаю, что вы пытаетесь перенаправить, но сначала правила переписывания для каждого сайта (vhost) - это то, куда должны быть добавлены редиректы, а из этих редиректов постоянные вы должны делать их с помощью Redirect 301
Кроме того, быстрым и неприятным решением является отключение всех остальных сайтов на apache с помощью a2dissite, вот man-страница - http: //manpages. ubuntu.com/manpages/trusty/man8/a2dissite.8 .html
Затем просто добавьте все домены как псевдонимы в ваш файл 000-default.conf, добавив
ServerAlias myfirstdomain.com myseconddomain.com www.myfirstdomain.com
NOTE: ServerAlias должен быть добавлен после тега
</Directory>
и до тега
Это означает, что на любой домен, указывающий на ваш сервер, будет отвечать ваш сайт apache по умолчанию, расположенный в /var/www/
Во-вторых, пожалуйста, поймите, что Apache звонит с настройками из разных файлов. Настройки безопасности, с которыми вы возитесь, уже находятся в файле под названием /etc/apache2/conf-available/security.conf
В этом файле вы должны изменить его: ServerSignature Off ServerTokens Prod
Messing with the main apache2.conf не рекомендуется, пока вы не поймёте, куда были перенесены все настройки, которые были в apache2.conf. Все они сейчас находятся в разных .conf файлах.