RewriteRule上的Apache正则表达式,"或"句法

时间:2012-06-11 10:53:02

标签: regex apache

当一个url以“word1”或“word2”结尾时,我在第一次斜杠之前得到所有字符串,并且我正在使用这段代码:

RewriteRule ^(.+)/word1|word2/?$            index.php?query=$1 [NC]

我的url在他的两端有“word1”没有任何问题,但如果url以“word2”结尾,Apache不会向“查询”变量返回任何值

2 个答案:

答案 0 :(得分:5)

您需要对表达式中的替换进行分组:

^(.+)/(?:word1|word2)/?$

如果没有分组,你的表达意味着:

^(.+)/word1 word2/?$

答案 1 :(得分:2)

使用:

RewriteRule ^(.+)/(word1|word2)/?$