2 つの異なるタイプの URI の場合に発生させたい 2 つの異なることがありますが、最初のケースが既に受け入れられている場合、2 番目のケースの実行を止めることはできないようです。
次に例を示します。
abc.com
abc.com/asdf
abc.com/en/asdf
abc.com/zh-cn/asdf/asdf
すべてをこの RewriteRule に向ける必要があります。
RewriteRule ^(([a-z]{2})(-[a-z]{2})?)(/([a-z0-9-\./]*))?$ /index.php?lng=$1&tpl=$4 [QSA,L,NC]
パート2:
abc.com/myadmin/
abc.com/myadmin/asdf
abc.com/myadmin/en/asdf
abc.com/myadmin/zh-cn/asdf/asdf
すべてをこの RewriteRule に向ける必要があります。
RewriteRule ^myadmin/(([a-z]{2})(-[a-z]{2})?)(/([a-z0-9-\./]*))?$ /myadmin/index.php?lng=$1&tpl=$4 [QSA,L,NC]
私がこれを達成しようとしてきた方法は、次のように条件を積み重ねることです。
RewriteCond %{REQUEST_URI} !^/myadmin/
RewriteRule ^(([a-z]{2})(-[a-z]{2})?)(/([a-z0-9-\./]*))?$ /index.php?lng=$1&tpl=$4 [QSA,L,NC]
RewriteCond %{REQUEST_URI} ^/myadmin/
RewriteRule ^myadmin/(([a-z]{2})(-[a-z]{2})?)(/([a-z0-9-\./]*))?$ /myadmin/index.php?vlng=$1&tpl=$4 [QSA,L,NC]
しかし、私が何をしても、両方のルールが引き続き実行されます。たぶん、私はこれを正しく行っており、2 番目の実行は php テンプレートのさらに下で発生していますが、よくわかりません。私がこれまで行ってきたことが良さそうに見えるかどうかを知る必要があるだけです。