htaccess重定向https

时间:2013-04-14 16:26:10

标签: .htaccess redirect ssl rewrite

我正在运行基于CMS的网站。在CMS后端,有一个选项可以通过https提供网站。然后,它会更新config.php文件。这可能与以下问题相关,也可能不相关。

我最近在Stack Overflow上发布了一些关于如何重定向到规范名称的问题。由于我使用SSL,因此有4个相同地址的变体:

  

https://example.com

     

https://www.example.com

     

http://example.com

     

http://www.example.com

选择的规范名称是第一个变体 - 非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

0 个答案:

没有答案