2012-05-30 67 views
1

我想在我的mod_rewrite中允许'&'。 目前我使用在mod_rewrite中允许&符号

RewriteRule ^([-a-zA-Z0-9_'_-]+)$ 

我尝试添加:

RewriteRule ^([-a-zA-Z0-9_'_-_&]+)$ 

允许符号,但我知道这是最LIKEY错误的。任何人都可以指引我正确地使用正确的正则表达式布局。

+1

难道你试试'^([a-zA-Z0-9'&] +)$'? – inhan

+0

就像一个魅力!非常感谢!这总让我困惑。 – user1228140

+0

看来我忘了下划线和连字符。将这些添加到字符组之外的某些地方(group1:'a-z',group2:'A-Z',group3:'0-9'),但放在方括号内,如果你还想要的话。例如:'^([a-zA-Z0-9'&_-] +)$' – inhan

回答

1

您还必须转义连字符,因为它表示在方括号内进行匹配的范围(它不会因为您最后包含它而失败,但在其他情况下它将在OP中有)。

连字符的正确转义: ^([a-zA-Z0-9'&_\-]+)$

这会失败:^([a-zA-Z0-9'_-&]+)$

这不会:

(我会评论,但我的代表处是不够高)