我知道标题有点奇怪,但这是URL的样子:
/user/xxx/page
/user/xxx/page?error=yyy
第一个URL的规则如下所示:
RewriteRule ^user/(\d+)/page$ something.pl?id=$1 [L]
为了使其与第二个URL一起使用,它变为:
RewriteRule ^user/(\d+)/page(error=\d+)?$ something.pl?id=$1 [L]
我的问题是......如何捕获错误编号?我尝试了这两个:
RewriteRule ^user/(\d+)/page(error=(\d+))?$ something.pl?id=$1&error=$2 [L]
RewriteRule ^user/(\d+)/page(error=(\d+))?$ something.pl?id=$1&error=$3 [L]
但它不起作用......
我该怎么做?
答案 0 :(得分:2)
您只需使用 QSA 标志即可将原始查询附加到新的查询中:
RewriteRule ^user/(\d+)/page$ something.pl?id=$1 [L,QSA]
现在,/user/xxx/page?error=yyy
的请求将被重写为/something.pl?id=xxx&error=yyy
。