奇怪的.htaccess网址重写差异
问题描述:
所以http://myopicvoid.org/当在Firefox或Chrome中加载时,自动重定向到http://myopicvoid.org/main以及它应该,但不是在IE8中。究竟会造成这种情况?我的.htaccess如下:奇怪的.htaccess网址重写差异
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^myopicvoid\.org$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule//main [r=301,L]
RewriteCond %{HTTP_HOST} ^myopicvoid\.org$
RewriteCond %{REQUEST_URI} !^/script/.*
RewriteCond %{REQUEST_URI} !^/style/.*
RewriteRule ^(.*)$ /script/$1.py [L]
存在着/脚本main.py,但我遇到了错误404未找到(脚本找不到或无法统计:脚本/的.py)在IE浏览器。帮帮我?
答
我将建议改变
RewriteCond %{HTTP_HOST} ^myopicvoid\.org$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule//main [r=301,L]
要:
RewriteCond %{HTTP_HOST} ^myopicvoid\.org$
RewriteRule ^/?$ /main [r=301,L]
所以,我做了什么被删除的条件,但提出的规则只匹配要么什么都没有,或者只是一个单倍前-削减。条件并不是真的有必要;请务必注意mod_rewrite
先处理规则,然后检查它们是否符合条件,所以这应该会更有效一些。
如果请求不包括尾部斜线,这将更宽容一点。
答
关闭我的头顶 - 也许网址http://myopicvoid.org/
从特定的浏览器发出请求时删除了尾部的斜线?这会阻止“/”匹配第一个RewriteRule
。