【问题标题】:This webpage has a redirect loop and SSL这个网页有一个重定向循环和 SSL
【发布时间】:2014-10-22 22:25:51
【问题描述】:

我正在尝试通过 .htaccess 为 SEO 设置正确的 301 重定向,并且已成功将整个网站的页面 URL 重定向到 https:// 版本。但是这条规则:

Redirect 301 / https://www.mydomain.com/

给我:“这个网页有一个重定向循环”

重写规则如

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]

不要给我正确的 301,只是重写。

【问题讨论】:

  • 您的规则应该有效。您是否删除了Redirect 指令?因为它是因为它你有一个重定向循环。为什么要添加/保留它,因为您的最后一条规则应该有效?另外,请在重试之前清除浏览器的缓存(或使用其他浏览器尝试)
  • 嗨贾斯汀,对不起。我没有包括最后一行。是的,每个浏览器都会给我一个类似的错误。

标签: .htaccess ssl http-status-code-301


【解决方案1】:

如果您只将此代码放在您的 htaccess 中,这应该可以工作(清除浏览器的缓存或尝试另一个,因为 301 重定向可能在缓存中)

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L,QSA]


你说:

不要给我正确的 301 只是重写。

那是因为您单独使用了 R 标志(默认情况下会给出 302)。

【讨论】:

  • 我不知道为什么我的规则不起作用,但这可以解决所有问题!谢谢。对使用 http:// 加载的图像有什么建议吗?
  • 每个 url 重定向(如果 http)到 https 等效。图像的行为必须相同。否则,我猜你还有其他规则会造成碰撞
猜你喜欢
  • 2014-06-25
  • 2014-12-27
  • 2013-12-22
  • 2013-11-06
  • 2013-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多