【问题标题】:HTTP/1.1 302 Found redirect loopHTTP/1.1 302 发现重定向循环
【发布时间】:2014-02-09 13:57:19
【问题描述】:

我的网站有问题,在主页上它工作正常,但是当我访问内部页面时,它返回 302 Found 并继续重定向,我使用了检查器元素中的日志。在 chrome 中它正在工作,但在 ie11 和 firefox 中它继续重定向。

这是我的 htaccess:

RewriteEngine On

#
#  Full path to your site
#
# RewriteBase /

#
#  Rules
#

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

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*) index.php?do=$1


ErrorDocument 404 /error

您可以查看此链接以了解我在说什么。 http://mst.com.ph 然后试试:http://mst.com.ph/category/motoring/

【问题讨论】:

  • 这里没有302规则。您在系统中的任何位置是否还有其他 .htaccess?
  • 实际上是这样,它工作正常。但是在服务器中进行一些配置后突然没有了。是的,我在 min 文件夹中有 htaccess

标签: php apache .htaccess http header


【解决方案1】:

检查您的页面后,/motoring/category 会发送一个 302 Moved Temporarily 标头。然而,该位置是空的。我假设您尝试加载的 php 页面中有一个 header( ... ),并且包含新位置的变量为空或 NULL。除此之外,请求不会以exit() 终止,因此无论如何都会显示内容。 Chrome 决定忽略状态代码并显示您在其后发送的任何内容,而其他浏览器显然决定重定向到同一页面。无论如何,为页面提供 302 状态代码是没有意义的。

这不是您的 .htaccess 的问题。在您的脚本中,确保变量包含您认为它们应该包含的内容。 (例如var_dump(..) 他们)。还要在定义重定向的标头后面添加exit()

【讨论】:

    猜你喜欢
    • 2019-05-10
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多