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

标签 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>

最佳答案

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

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

关于apache - 在 apache 中排除站点重定向到 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38436579/

相关文章:

android - 为什么在 Android 中执行此 HttpGet 会引发 NullPointerException?

javascript - 确定 jQuery .ajax() 将重定向字符串解析为什么

c - 将标准输出重定向到文件 - 在 C 中

redirect - 如何在 Wicket 的 setResponsePage() 中添加 anchor ?

apache - Puppet:无法按名称找到默认节点

linux - 可以通过 apache 服务器流式传输或收听来自麦克风的实时音频吗?

php - 我可以使用 apache 的 mod_gzip 模块压缩 Web 服务请求和响应吗?

xml - Apache Camel - 向 http 端点发送 xml 参数不起作用

java - SMTP 代码 250 但电子邮件在远程服务器丢失

http - 没有 Cookie 是否可能进行 CSRF?