因此http://myopicvoid.org/在Firefox或Chrome中加载时,会自动重定向到http://myopicvoid.org/main,但不会重定向到IE8。究竟是什么原因造成的呢?我的.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]
在/ script中存在一个main.py,但我在IE中遇到错误404 Not Found(脚本未找到或无法stat:script / .py)。帮助
答案 0 :(得分:2)
我建议改变
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
首先处理规则,然后检查它们是否符合它们的条件,所以这应该更有效率。
如果请求不包含尾部斜杠,这将更加宽容。
答案 1 :(得分:0)
离开我的头顶 - 当您从某些浏览器发出请求时,URL http://myopicvoid.org/
可能会删除尾部斜杠吗?这会阻止“/”匹配第一个RewriteRule
。