gpt4 book ai didi

apache - 强制 www 时重定向循环。主机名和 SSL

转载 作者:太空宇宙 更新时间:2023-11-03 14:54:34 24 4
gpt4 key购买 nike

我要疯了——我刚刚检查并重新检查了我的规则,但我仍然不明白为什么服务器会产生重定向循环?

目标也是给力www。作为 SSL。

RewriteCond %{HTTP_HOST} ^example\.com$ [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.example.com/$1 [R=301,L]

重定向对于不正确的 URL(没有 www. 或没有 SSL)工作正常,但对于正确的 URL,我最终得到一个无限的重定向循环:https://www.example.com/uiae -> https ://www.example.com/uiae

服务器是否可能无法处理 HTTPS 变量?

Apache 文档声明该变量可安全用于 Apache 2.2。

我也试过 SERVER_PROTOCOL !=https 得到了同样的结果。

没有我的规则,我可以访问 HTTP 和 HTTPS URL,这表明在我的 .htaccess 之外没有其他规则。

感谢您的帮助。

最佳答案

事实证明,托管服务提供商(在这种情况下是 Strato.de)搞砸了该变量的支持。

他们的说法是

Strato does not support this variable

这是完全出乎意料的,因为它是标准的 Apache 变量,如文档所述。

解决方法是改用协议(protocol):

RewriteCond %{HTTP_HOST} ^example\.com$ [NC,OR]
RewriteCond %{SERVER_PORT} !443
RewriteRule (.*) https://www.example.com/$1 [R=301,L]

关于apache - 强制 www 时重定向循环。主机名和 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30848038/

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