htaccess通配符仅匹配数值

时间:2013-12-20 10:47:34

标签: php apache .htaccess mod-rewrite

我用这个:

RewriteRule ^(page-a[^/]+)/?$ /page.php?a=$1

目标是重写这样的页面:

http://www.website.com/page-a47643

现在我怎样才能匹配“page-a”后面包含NUMBERS的字符串?

问题是htaccess会破坏对这样的文件夹的访问:

  

http://www.website.com/page-about-me/

4 个答案:

答案 0 :(得分:1)

将正则表达式更改为:

RewriteRule ^(page-a[0-9]+)/?$ /page.php?a=$1 [L,QSA]

[0-9]+将匹配1或数字,并按原样保留/page-about-me/

答案 1 :(得分:1)

RewriteRule ^(page-a[0-9]+)/?$ /page.php?a=$1

答案 2 :(得分:1)

RewriteRule ^(page-a\d+)/?$ /page.php?a=$1
Perl兼容的正则表达式(PCRE,如Apache所使用的)中的

\ d表示“一位数”。 \ d +表示“一个或多个数字”。

答案 3 :(得分:1)

RewriteRule ^page-a([0-9]+)/?$ /page.php?a=$1 [L,QSA]
相关问题