スキームに 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]