重写RegEx,URL至少包含一个字符

时间:2010-03-10 21:52:26

标签: mod-rewrite url-rewriting httpd.conf

我有以下RewriteRule:

RewriteRule ^/people/([A-Za-z0-9\-\_]*)/?$  /people/people_details.cfm?person=$1 [I,L]

...它非常适合转发我的规则,但我想确保正则表达式只有在有多个字符的情况下才能获取它。真的,我需要我的正则表达式......

[A-Za-z0-9\-\_]+

...有一个额外的规则,说必须至少有一个角色。现在,如果我去... ...

/people/

...它应该转到默认文档index.cfm,但由于规则,它仍然尝试转发到我的people_details.cfm

任何帮助?

谢谢, 乔治

2 个答案:

答案 0 :(得分:1)

您在问题中添加的正则表达式已确保必须至少包含一个字符。 +表示“1或更多”,而*表示“零或更多”。只需将*更改为+

答案 1 :(得分:0)

  

...它应该转到默认文档index.cfm,但由于规则,它仍然尝试转发到我的people_details.cfm

那是因为你最后选择了“/”,这可能不是你想要的。