2009-07-29 141 views
1

所以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浏览器。帮帮我?

回答

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先处理规则,然后检查它们是否符合条件,所以这应该会更有效一些。

如果请求不包括尾部斜线,这将更宽容一点。

0

关闭我的头顶 - 也许网址http://myopicvoid.org/从特定的浏览器发出请求时删除了尾部的斜线?这会阻止“/”匹配第一个RewriteRule