Mod rewrite mod_重写优先级

Mod rewrite mod_重写优先级,mod-rewrite,Mod Rewrite,比如说,我想支持像twitter这样的URL,其中: twitter.com/username重定向到twitter.com/user\u name.php?user=username 我有以下几点 RewriteRule ^(.*)$ user_name.php?user=$1 这很好。但现在的问题是,所有东西,包括twitter.com/index.php当然会重定向到user\u name.php 我如何创建异常或优先级,使“真实文件”不会被重写?我尝试在index.php前后添加一个显

比如说,我想支持像twitter这样的URL,其中:
twitter.com/username
重定向到
twitter.com/user\u name.php?user=username

我有以下几点

RewriteRule ^(.*)$ user_name.php?user=$1
这很好。但现在的问题是,所有东西,包括
twitter.com/index.php
当然会重定向到
user\u name.php


我如何创建异常或优先级,使“真实文件”不会被重写?我尝试在index.php前后添加一个显式规则,但似乎没有效果。

为此需要添加
RewriteCond

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

好吧,这比我的解决方案要好得多——假设它有效。我得在我的一个项目上试试。你能解释一下这里到底发生了什么吗?这对我不起作用,domain.com/index.php仍然使用user_name.php的重写规则。事实上,你非常接近,这对我有效:RewriteCond%{REQUEST_FILENAME}-你确定你要那个分离点吗?这意味着只有一个条件必须满足。