我在 SLES 12 上使用 Apache 2.4.10。根据 SLES 12 管理指南,default-server.conf 文件是“具有合理默认值的所有虚拟主机的全局配置。不要更改值,而是用虚拟主机配置覆盖它们。”我想做的是添加
RewriteEngine On
RewriteOptions Inherit
指令到默认服务器,以确保所有 vHost 都从 httpd.conf 继承重写条件和规则。但是,除非上述指令放置在每个 vHost 定义中,否则它们不会继承。如何将这些设置全局应用于所有 vHost?
这是我的 vHost 文件:
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot /srv/www/vhosts/test
ErrorLog /var/log/apache2/test-error_log
CustomLog /var/log/apache2/test-access_log combined
HostnameLookups Off
UseCanonicalName Off
ServerSignature off
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/server.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
SSLCACertificateFile /etc/apache2/ssl.crt/ca.crt
SSLHonorCipherOrder on
SSLVerifyClient require
SSLVerifyDepth 5
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire +StdEnvVars
<IfModule mod_userdir.c>
UserDir public_html
Include /etc/apache2/mod_userdir.conf
</IfModule>
<Directory "/srv/www/vhosts/test">
Options None
AllowOverride None
<IfModule mod_access_compat.c>
Order allow,deny
<LimitExcept GET POST>
Deny from all
</LimitExcept>
</IfModule>
<IfModule !mod_access_compat.c>
Require method GET POST
</IfModule>
</Directory>
</VirtualHost>