mod_rewrite优先级

时间:2010-01-23 16:10:00

标签: mod-rewrite

假设我想支持twitter这样的网址: twitter.com/username重定向到twitter.com/user_name.php?user=username

我有以下

RewriteRule ^(.*)$ user_name.php?user=$1

这很好用。但问题是,包括twitter.com/index.php在内的所有内容当然会重定向到user_name.php

如何创建例外或优先级以便“真实文件”不会被重写?我尝试在index.php之前和之后添加一个显式规则,但它似乎没有生效。

1 个答案:

答案 0 :(得分:2)

您需要为此

添加RewriteCond
RewriteCond %{REQUEST_URI} !-f [OR] # for existing files 
RewriteCond %{REQUEST_URI} !-d # for existing directories
RewriteRule ^(.*)$ user_name.php?user=$1