2009-07-29 16 views
1

したがってhttp://myopicvoid.org/ FirefoxまたはChromeに読み込まれた場合、自動的にhttp://myopicvoid.org/mainにリダイレクトされますが、IE8ではリダイレクトされません。これはどういうことでしょうか?次のように私の.htaccessファイルは、次のとおりです。奇妙な.htaccess URL書き換えの不一致

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(スクリプト見つかるかをstatできません:スクリプト/の.py)と会ってるIEで。助けて?

答えて

2

私は変更することをお勧め

RewriteCond %{HTTP_HOST} ^myopicvoid\.org$ 
RewriteCond %{REQUEST_URI} ^/$ 
RewriteRule//main [r=301,L] 

へ:私は何も、または単に1つのフォアのいずれかと一致していない状態を除去して行われますが、ルールを作ってきたものだから、

RewriteCond %{HTTP_HOST} ^myopicvoid\.org$ 
RewriteRule ^/?$ /main [r=301,L] 

、 - スラッシュ。条件は本当に必要ではありませんでした。 mod_rewriteが最初にルールを処理してから条件を満たしているかどうかを確認することが重要であるため、これはほんの少し効率的に行う必要があります。

これは、要求に末尾のスラッシュが含まれていない場合にはもう少し寛容です。

0

私の頭の上にない - たぶんURL http://myopicvoid.org/には、特定のブラウザから要求を出したときに末尾のスラッシュが削除されていますか?これにより、 "/"が最初のRewriteRuleと一致しなくなります。