仅重定向非现有文件

时间:2013-06-04 19:12:39

标签: .htaccess

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]

我有这个代码,我找不到错误。 它应该只重定向没有文件的非文件夹和网址,但它会重定向所有内容。 这段代码有什么问题吗?或者是否存在任何apache配置规则,这可能会导致此行为?

1 个答案:

答案 0 :(得分:0)

试试这个

## If file or directory exists behave normally
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]

## But for everything else that doesn't exist, run it through my index.php
RewriteRule ^(.*)$ index\.php?url=$1 [QSA,L]