Hey Fellow Programmers!
确实无足轻重我确定但是我无法解决这个问题。
基本上(未登录时)并请求没有尾部斜杠的页面,浏览器返回
“redirect loop”
错误或在Firefox中出现另类错误但类似。
Firefox检测到服务器正在以永远无法完成的方式重定向此地址的请求。 此问题有时可能是由禁用或拒绝接受引起的 饼干。
有趣的是......当你做一个简单的刷新时,它会很好地加载,然后它会缓存301以便在之后工作。
好的,这里是响应标题:
http://www.theurl.com/attitude-competition
HTTP / 1.1 301永久移动日期:星期一,2013年10月28日23:05:28 GMT 服务器:Apache / 2.2.14(Ubuntu)X-Powered-By:PHP / 5.3.2-1ubuntu4.20 X-Pingback:http://www.theurl.com/xmlrpc.php位置: http://www.theurl.com/attitude-competition/变化:接受编码 Content-Length:0 Content-Type:text / html;字符集= UTF-8
http://www.theurl.com/attitude-competition/
HTTP / 1.1 200 OK日期:星期一,2013年10月28日23:05:30 GMT服务器: Apache / 2.2.14(Ubuntu)X-Powered-By:PHP / 5.3.2-1ubuntu4.20 X-Pingback: http://www.theurl.com/xmlrpc.php链接:; rel = shortlink不同的: Accept-Encoding Transfer-Encoding:chunked Content-Type:text / html; 字符集= UTF-8
一切看起来都不错,但我已经在不同的浏览器中进行了测试,每次都失败了。
修改
我做了一些进一步的研究,这里是以管理员身份登录时的标题,但没有相同的问题。
HTTP / 1.1 301永久移动日期:星期二,2013年10月29日00:03:20 GMT 服务器:Apache / 2.2.14(Ubuntu)X-Powered-By:PHP / 5.3.2-1ubuntu4.20 X-Pingback:http://www.theurl.com/xmlrpc.php到期日:1984年1月11日星期三 05:00:00 GMT Cache-Control:no-cache,must-revalidate,max-age = 0 Pragma:no-cache位置:http://www.theurl.com/attitude-competition/ 变化:接受编码内容编码:gzip内容长度:20 Keep-Alive:timeout = 15连接:Keep-Alive Content-Type:text / html; 字符集= UTF-8
编辑2
当Chromes Web Inspector打开时,更奇怪的是它工作正常。无法缓存,因为我尝试过隐身和其他浏览器。
有什么想法吗?
答案 0 :(得分:1)
# Force Trailing Slash - Beau Bhavik Code START
<IfModule rewrite_module>
RewriteEngine On
RewriteBase /
# If not a real file or directory.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Not a part of the WP admin area.
RewriteCond %{REQUEST_URI} !(?:^|/)wp\-admin(?:/|$)
# If there is no trailing slash.
RewriteCond %{REQUEST_URI} !(?:.*)/$
# Force a trailing slash on all virtual requests.
RewriteRule ^(.*)$ /$1/ [QSA,L,R=301]
</IfModule>
# Force Trailing Slash - Beau Bhavik Code END
# Force NO Trailing Slash - Beau Bhavik Code START
<IfModule rewrite_module>
RewriteEngine On
RewriteBase /
# If not a real file or directory.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Not a part of the WP admin area.
RewriteCond %{REQUEST_URI} !(?:^|/)wp\-admin(?:/|$)
# If there is a trailing slash.
RewriteCond %{REQUEST_URI} (?:.*)/$
# Force NO trailing slash on all virtual requests.
RewriteRule ^(.*)/$ /$1 [QSA,L,R=301]
</IfModule>
# Force NO Trailing Slash - Beau Bhavik Code END
答案 1 :(得分:0)
我会检查你的服务器没有任何冲突的规则(例如.htaccess或nginx规则),其中一个人试图纠正另一个,从而无限循环。
我还要确保您的重写规则没问题 - 您是否使用固定链接做了任何时髦的事情?快速调试方法是关闭永久链接或将规则更改为其他规则。可以提供一些线索