我想使用RewriteRule来清理我的URL,我需要重写以允许多个不同的$_GET
值,但它们有时需要为空,而不会导致错误。
目前我尝试的是(位于.htaccess):
RewriteRule ^people/(.*)/(.*)/(.*) /people.php?alid=$1&alb=$2&albb=$3
这很好用,只要url有三个斜杠,例如http://www.example.com/people/1/2/3
效果很好。
但是,如果我使用网址http://www.example.com/people/1
,则结果是404错误,这是我需要防止发生的错误。
有没有办法解决这个问题,所以我可以拥有没有全部三个/
的网址而不会收到404错误?
答案 0 :(得分:1)
尝试^人(/([^ /] +))*
您需要更改数字,因为我的表达式中有一组额外的括号。
[^ /] +匹配不是/的所有内容 /在开头将匹配/ 它在括号内,末尾有一个*,所以你可以有(或某些)0次或更多次。