我正在运行基于CMS的网站。在CMS后端,有一个选项可以通过https提供网站。然后,它会更新config.php文件。这可能与以下问题相关,也可能不相关。
我最近在Stack Overflow上发布了一些关于如何重定向到规范名称的问题。由于我使用SSL,因此有4个相同地址的变体:
选择的规范名称是第一个变体 - 非www。 HTTPS。
我从Stack Overflow上的一些成员那里得到了一段代码。但是,这会导致错误“重定向循环”。以下是生成此重定向循环的代码:
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^.*$ https://example.com/$0 [R,L]
我摆弄了这个片段。我真的不知道自己在做什么,所以很惊讶地报道它正在发挥作用。我将上面第二行的结尾改为“on”。
现在,以下传入的URL重定向:
www.example.com = https://example.com/(好)
example.com => example.com但是当你导航到任何其他页面时,按需要出现https://example.com/somepage(有点好)
https://www.example.com => https://example.com(好)
https://example.com => https://example.com(好)
所以有2个问题:
1)为什么我的代码有效?!应该有用吗?我谨慎乐观但持怀疑态度,因为我真的不知道自己在做什么。
2)上面的第二个变体example.com在登陆时不会重定向,但在导航到站点中的任何其他位置时都会重定向。有没有办法设置htaccess文件代码,以便访问example.com的人被重定向到https://example.com?