我们有两个站点,一个是 www.site1.com,必须重定向到 https,另一个站点 www.site2.com,它是 site1.com 的子域,不应重定向到 https。我们在 httpd.conf 文件中写了以下内容。但是 site2 仍然被重定向到 https。请帮忙
<VirtualHost *:80>
ServerName www.site1.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?site1.com [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</VirtualHost>
最佳答案
ServerName
用于在使用基于名称的虚拟主机时唯一标识虚拟主机。如果找不到匹配的基于名称的虚拟主机,则将使用第一个列出的虚拟主机。因此,在您的情况下,即使您请求 www.site2.com
,也会使用 www.site1.com
的配置,从而导致重定向。
尝试添加另一个部分:
<VirtualHost *:80>
ServerName www.site2.com
</VirtualHost>
关于apache - 在 apache 中排除站点重定向到 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38436579/