独特的关于mod_rewrite和RewriteCond的.htaccess问题

我有一些这样的重写规则

RewriteRule ^dir/(.*)-something.html otherdir/file1.php?var1=val&var2=$1 [L,NC] RewriteRule ^dir/ otherdir/file2.php?var1=val [L,NC] 

目录/不是一个真正的目录。 以上的一切按预期工作。

但是,用户可以input类似的东西

 mysite.com/dir/asdfasdfasdfsdf 

他们仍然redirect到file2.php。 如果用户只是input垃圾,我想用404代替。

我猜测我需要一个RewiteCond来testing斜线后面的空格,然后才能提供file2.php,但是我不确定如何编写它。

我想如果你在$的末尾放一个$ ,它就可以实现这个function(请注意,我没有testing过,所以请在投票之前尝试一下)。 $表示“string的结尾”,与^表示“string的开始”相同。

 RewriteRule ^dir/$ otherdir/file2.php?var1=val [L,NC] 

祝你好运!

–jed