在一个影响所有的虚拟主机文件中重定向
Redirect in one virtual host file affecting all
我有一个虚拟主机文件,其中包含重定向以强制对域的请求到 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>
b.com
的请求将由第一个 <VirtualHost>
处理,因为您没有 b.com
的 <VirtualHost>
。
你只有 <VirtualHost>
sub.b.com
。
因此 b.com
由第一个 <VirtualHost>
处理 IP/port,因为 none 被分配来处理它,这是它的默认方式。
我有一个虚拟主机文件,其中包含重定向以强制对域的请求到 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>
b.com
的请求将由第一个 <VirtualHost>
处理,因为您没有 b.com
的 <VirtualHost>
。
你只有 <VirtualHost>
sub.b.com
。
因此 b.com
由第一个 <VirtualHost>
处理 IP/port,因为 none 被分配来处理它,这是它的默认方式。