我们有两个站点,一个是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>
答案 0 :(得分:1)
ServerName
用于在使用基于名称的虚拟主机时唯一标识虚拟主机。如果找不到匹配的基于名称的虚拟主机,则将使用第一个列出的虚拟主机。因此,在您的情况下,即使您请求www.site2.com
,也会使用www.site1.com
的配置,从而导致重定向。
尝试添加其他部分:
<VirtualHost *:80>
ServerName www.site2.com
</VirtualHost>