Htaccess为文件夹创建重定向

时间:2016-05-07 13:21:42

标签: apache .htaccess mod-rewrite

我正在运行Apache 2.4.9。我在.htaccess文件中有这个规则

RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} \.(css|js)$
RewriteRule ^.*$ /index.php?url=$0 [L]

除了在这种特殊情况下,它完美无瑕地工作:
当调用/myfolder(如果“myfolder”文件夹实际存在)时,Apache会将http301返回到url:/myfolder?url=myfolder

我真的不确定是什么原因导致这种重定向。

你有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

在您的情况下,您可能会在所有其他条件之前添加额外条件。现在它说"如果文件名不是目录而不是文件"或者"如果文件名不是目录并以css / js"结尾,则可以正常工作。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} \.(css|js)$
RewriteRule ^.*$ /index.php?url=$0 [L]

这是内部重写,因此它不会执行任何类型的重定向。重定向可能来自index.php文件中的header(..)