HTTP / 1.1 302找到重定向循环

时间:2014-02-09 13:57:20

标签: php apache .htaccess http header

我的网站出现问题,在主页上它正常工作但是当我访问内部页面时它返回302 Found并继续重定向,我在inspector元素中使用了日志。在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/

1 个答案:

答案 0 :(得分:2)

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

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