字符串后的htaccess正则表达式强制数

时间:2013-11-28 04:42:19

标签: regex .htaccess

我有以下htaccess正则表达式

RewriteRule ^sitemap_(set|art|sub)_(([0-9]+)?).xml$ index.php?url=sitemap&doc=$1&id=$2 [QSA,NE,L]

我需要“”符号后面跟一些数字是可选的。如果没有一个数字后面跟着“_”符号,就不会出现“”符号。

我试图通过包含一个?来使“_”符号成为可选的?最后但仍然像sitemap_set_这样的字符串匹配。

希望我的解释足够清楚,你可以提供帮助。否则指出任何看起来令人困惑的东西。

1 个答案:

答案 0 :(得分:1)

你可以像这样使用它:

RewriteRule ^sitemap_(set|art|sub)(?:_([0-9]+))?\.xml$ index.php?url=sitemap&doc=$1&id=$2 [QSA,NE,L]

这使得后面跟着一个或多个数字可选。