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

关于 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]

dir/ 不是真正的目录。以上所有内容均按预期工作。

但是,用户可以输入类似

mysite.com/dir/asdfasdfasdfsdf

而且他们仍然被重定向到 file2.php。如果用户输入的都是垃圾内容,我更愿意提供 404 错误。

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

答案1

$我认为如果在它的末尾加上一个,dir/就可以了(请注意,我还没有测试过,所以请在投票给我之前先试一试)。$表示“字符串结尾”,其含义与表示^“字符串开头”相同。

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

祝你好运!

--杰德

相关内容