我的正则表达式代码适用于第二个变量,([^&] +)(&。*),它位于myvar=
之后,但是我无法获得第3个变量,它位于{foo=
之后1}}(与第二个相同)。
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} ^(.*&)?myvar=([^&]+)(&.*)?&foo=([^&]+)(&.*) [NC]
RewriteRule ^(index\.php)?$ /site/myvar/%2/%3/? [R=301,L]
输出网址如下:
http://localhost/site/myvar/15//
那么如何在最后两个反斜杠之间输出第三个变量?
答案 0 :(得分:2)
你想要的是第四次捕获,而不是第三次。第三个是(&.*)
,即使它是空的。要确定数字,只需从左到右计算左括号。