排除站点在apache中重定向到https

时间:2016-07-18 12:19:41

标签: apache http redirect

我们有两个站点,一个是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>

1 个答案:

答案 0 :(得分:1)

ServerName用于在使用基于名称的虚拟主机时唯一标识虚拟主机。如果找不到匹配的基于名称的虚拟主机,则将使用第一个列出的虚拟主机。因此,在您的情况下,即使您请求www.site2.com,也会使用www.site1.com的配置,从而导致重定向。 尝试添加其他部分:

<VirtualHost *:80>
ServerName www.site2.com
</VirtualHost>