无法使mod_rewrite正则表达式量词工作

时间:2016-03-07 17:51:00

标签: regex apache .htaccess mod-rewrite

您好我有简单的RewriteRule ^news/([.+])/ /?pt-news=$1,我想要排除长度不超过3个符号的简单数字,它们在我的网站中用作寻呼导航系统。所以我需要向?pr-news=发送不是3位数字或3个符号字符集的所有内容。据我所知,应该是^news/([.+]{3})/ /?pt-news=$1这样的东西,但我无法理解何时放量词以便它可以工作,无论我尝试失败。我需要此规则才能使用/news/2//news/400/之类的URI。请帮忙。

1 个答案:

答案 0 :(得分:0)

要排除1-3位数字,您可以使用否定前瞻:

RewriteRule ^news/((?!\d{1,3}/?$).+)/?$ /?pt-news=$1 [L,QSA,NC]

另外,我建议您添加一些要从此规则中排除的示例网址。