Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 奇怪。htaccess url重写不一致_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess 奇怪。htaccess url重写不一致

.htaccess 奇怪。htaccess url重写不一致,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,因此,当加载到Firefox或Chrome时,会自动重定向到它应该的位置,但不会在IE8中。到底是什么原因造成的?我的.htaccess如下所示: Options +FollowSymlinks RewriteEngine On RewriteCond %{HTTP_HOST} ^myopicvoid\.org$ RewriteCond %{REQUEST_URI} ^/$ RewriteRule / /main [r=301,L] RewriteCond %{HTTP_HOST} ^my

因此,当加载到Firefox或Chrome时,会自动重定向到它应该的位置,但不会在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.Help中遇到错误404 Not Found(script Not Found或无法stat:script/.py?

,可能是URL
http://myopicvoid.org/
当您从某些浏览器发出请求时,尾部斜杠是否已删除?这将阻止“/”与第一个
重写规则相匹配

我建议更改

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

所以,我所做的是删除了条件,但使规则只匹配一个前斜杠,或者什么都不匹配。这个条件其实并不必要;重要的是要注意,
mod_rewrite
首先处理规则,然后检查它们是否满足条件,因此这应该会稍微有效一点

如果请求中不包含尾随斜杠,这会更宽容一些

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