私はApacheのmod_rewriteモジュールを使用しています。正規表現RewriteCond
の中にRewriteRule
でキャプチャされたグループを参照する方法はありますか?例えばrewritecond regexのrewriterule参照グループを参照していますか?
:
RewriteCond %{REQUEST_URI} ^(.*(?=/#How can I 'paste' $1 = RewriteRule's (.*) group here?#$))
RewriteRule ^(.*)$ - [E=BASE_PATH:%1]
私はmysite.domain/subdir/my/site/dir
を要求した場合ここで私は、例えば、リクエストURIのベースパスにマッチします、と.htaccess
が、その後subdir/
内にある:
1) RewriteRule ^(.*)$ ----> ^(my/site/dir)$ -----> $1 = my/site/dir
2) RewriteCond /subdir/my/site/dir ^(.*(?=/#I need to 'paste' the $1 RewriteRule's matched group here#$))
どのようにすることができます私は私のRewriteCond正規表現が '動的に'生成されるようにします:
^(。*(?=/私/サイト/ DIR $))
私/サイト/ DIRはするRewriteRuleの$ 1基はにマッチしたものである場合は?
[OK]をクリックしてあなたはそれがうまくいくと思う方法を説明しようとしているので、説明は混乱しています。あなたが達成しようとしていることだけを説明できますか? –
さて、私はより簡潔で明確にしようとします。 RewriteRuleがマッチすると、捕捉されたグループは$ 1に格納され、 'RewriteCond'パターン文字列では' $ 1'として利用可能です。したがって、 '$ 1 - %{REQUEST_URI}([^ - ] *) - (。*?)\ 1 $'の場合、 '$ 1 - %{REQUEST_URI}'は 'my/site/dir-/subdir/my/site/dir-/subdir/my/site/dir'と入力します。私は同じことをする必要がありますが、一致する文字列ではなく、 'RewriteCond'の正規表現内で展開します。 – tonix