Php htaccess通配符仅匹配数值

Php htaccess通配符仅匹配数值,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我用这个: RewriteRule ^(page-a[^/]+)/?$ /page.php?a=$1 目标是重写如下页面: http://www.website.com/page-a47643 现在,如何只匹配包含a页后面数字的字符串 问题是htaccess会像这样破坏对文件夹的访问: http://www.website.com/page-a47643 将正则表达式更改为: RewriteRule ^(page-a[0-9]+)/?$ /page.php?a=$1 [L,QSA] Re

我用这个:

RewriteRule ^(page-a[^/]+)/?$ /page.php?a=$1
目标是重写如下页面:

http://www.website.com/page-a47643
现在,如何只匹配包含a页后面数字的字符串

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

http://www.website.com/page-a47643
将正则表达式更改为:

RewriteRule ^(page-a[0-9]+)/?$ /page.php?a=$1 [L,QSA]
RewriteRule ^page-a([0-9]+)/?$ /page.php?a=$1 [L,QSA]
[0-9]+将匹配1或多个数字,并按原样保留/页面关于我。

将您的正则表达式更改为:

RewriteRule ^(page-a[0-9]+)/?$ /page.php?a=$1 [L,QSA]
RewriteRule ^page-a([0-9]+)/?$ /page.php?a=$1 [L,QSA]
[0-9]+将匹配1个或多个数字,并按原样离开/页面了解我

\d在Perl兼容的正则表达式PCRE中,如Apache所用,表示一位数字\d+表示一个或多个数字

\d在Perl兼容的正则表达式PCRE中,如Apache所用,表示一位数字\d+表示一个或多个数字