我在一个方案中有 URL
/([0-9]*)/some/path/script.jsf?someId=([0-9]*)
如果 $1 与 $2 不匹配,我想将用户重定向到 $2。例如,如果用户请求
/1/some/path/script.jsf?someId=1
一切都很好,用户不应该被重定向,但如果用户请求
/1/some/path/script.jsf?someId=2
用户应该被重定向到
/2/some/path/script.jsf?someId=2
我试过这个规则:
RewriteCond %{REQUEST_URI} ^/([0-9]*)/
RewriteCond %{QUERY_STRING} someId=([0-9]*)
RewriteCond %1 !%2
RewriteRule (.*) /%2/some/path/script.jsf?someId=%2 [R]
但 %2 似乎总是空的。所以我尝试了这个规则:
RewriteCond %{REQUEST_URI} ^/([0-9]*)/some/path/script.jsf?someId=([0-9]*)
RewriteCond %1 !%2
RewriteRule (.*) /%2/)/some/path/script.jsf?someId=%2 [R]