我有一个虚拟主机文件,其中包含重定向,以强制请求域名为https。
似乎太了。我添加了另一个虚拟主机文件,所有对它的请求(:80)都被重定向到第一个域:443。也就是说,sub.b.com:80的请求被重定向到a.com:443。请注意,b.com不在同一台服务器上,只有其子域名。
a.com
<VirtualHost a.com:80>
ServerName a.com
Redirect permanent / https://a.com/
</VirtualHost>
<VirtualHost a.com:443>
ServerName a.com
DocumentRoot /var/www/html/a
SSLEngine On
SSLCertificateFile /usr/local/share/ca-certificates/www.a.com.crt
SSLCertificateKeyFile /etc/ssl/private/a.com.key
<Directory /var/www/html/a>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
sub.b.com
<VirtualHost *:80>
ServerName sub.b.com
DocumentRoot /var/www/html/b
<Directory /var/www/html/b>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
答案 0 :(得分:2)
b.com
的请求将由第一个<VirtualHost>
处理,因为<VirtualHost>
没有b.com
。
<VirtualHost>
只有sub.b.com
。
因此b.com
由该IP /端口的第一个<VirtualHost>
处理,因为没有指定处理它,这就是默认方式。