重写正则表达式,至少有一个字符的 URL

Posted

技术标签:

【中文标题】重写正则表达式,至少有一个字符的 URL【英文标题】:ReWrite RegEx, URL having at least one character 【发布时间】:2011-01-26 03:03:38 【问题描述】:

我有以下 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

有什么帮助吗?

谢谢, 乔治

【问题讨论】:

【参考方案1】:

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

那是因为你在末尾有“/”作为可选,这可能不是你想要的。

【讨论】:

【参考方案2】:

您在问题中输入的正则表达式已经确保必须至少有一个字符。 + 表示“1 或更多”,而* 表示“0 或更多”。只需将* 更改为+

【讨论】:

以上是关于重写正则表达式,至少有一个字符的 URL的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式:“密码必须至少有以下 4 个中的 3 个”

js的正则表达式要求必须字母与数字组合至少有一个大写字母,要怎么写

正则表达式包含所有特殊字符

Nginx正则表达式location匹配Rewrite重写详解

正则表达式 Python 模式 [重复]

python使用正则表达式验证用户输入密码的有效性