vhost コンテキスト書き換えルールは、以前のサーバー コンテキスト書き換えルールの実行をどのように防止できますか?

vhost コンテキスト書き換えルールは、以前のサーバー コンテキスト書き換えルールの実行をどのように防止できますか?

この書き換えルールは、サーバー コンテキストの早い段階で設定されています。どの仮想ホストよりもかなり前です。仮想ホスト コンテキストで特定の書き換えルールが実行された場合を除いて、期待どおりに動作します。その場合、このルールは実行されません。
仮想ホスト コンテキストの書き換えルールがサーバー コンテキストの書き換えルールに影響を与えるとは思っていませんでした。特に、サーバー コンテキストの書き換えルールが構成のかなり前にある場合はそうです。

# Remove Leading WWW and Retain http or https
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ %{REQUEST_SCHEME}://%1%{REQUEST_URI} [R=301,L]

上記のルールの実行を妨げる vhost コンテキスト内のルールは、シェル スクリプト (cgi) を実行するように書き換えられています。

# Run Shell Script
RewriteCond %{REQUEST_URI} !${regex} [NC]
RewriteRule ^.* /cgi-bin/SCRIPT.sh?${QUERY_STRING} [PT,E=dontlog,L,END]

vhost コンテキストには他の書き換えルールがあります。ただし、このルールだけがサーバー コンテキストの書き換えルールの実行を妨げているようです。

関連情報