我有一些这样的重写规则
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