gpt4 book ai didi

apache - .htaccess 将 https 重定向到 http 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:11 25 4
gpt4 key购买 nike

我正试图捕捉到我网站前端的所有 https 流量,因此:

https://www.domain.com

重定向到:

http://www.domain.com

但是其他子域需要重定向到别处。在大多数情况下,除了 https -> http 重定向之外,这一切都有效。这是我目前的 .htaccess 文件:

RewriteEngine On

RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

RewriteCond "%{HTTP_HOST}" !^www.* [NC]
RewriteCond "%{HTTP_HOST}" ^([^\.]+).*$
RewriteRule ^(.*)$ https://secure.domain.com/a/login/%1 [L,R=301]

这似乎是:

RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

没有像我想象的那样工作。事实上,它似乎根本没有重定向。

在另一个子目录中,我有相反的效果,效果很好:

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

所以我的想法是相反的应该完成这项工作,但似乎没有。

有什么想法吗?

编辑

我认为这可能与以下事实有关:在服务器上有一个 ssl 证书,ISP 使用该证书为您的站点提供通用 https 地址。例如,如果您的站点位于:

http://www.yourdomain.com

您可以使用以下方式通过 https 访问相同的内容/托管帐户:

https://server100.securedomain.com/yourdomain.com

可能是因为当我在浏览器中输入 https 时,我收到了通用证书,并且因为它与我输入的域名不匹配,所以我收到了关于不受信任的证书的安全警告正在停止重定向?

编辑 2

查看服务器 header ,我认为我的上述假设是正确的。服务器正在返回:

The host name in the certificate is invalid or does not match

这会停止重定向吗?

最佳答案

刚刚意识到我从来没有关闭它,所以为了其他试图解决这个问题的人的利益,我现在将关闭它。

简而言之,我试图实现的捕获所有 https -> http 重定向将不起作用,因为服务器首先提供证书,然后生成安全警告。出于明显的安全原因,这发生在重定向之前,因此重定向无法正常工作。

希望对其他人有所帮助。

关于apache - .htaccess 将 https 重定向到 http 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2980324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com