虛擬主機上下文重寫規則如何阻止較早的伺服器上下文重寫規則運行?

虛擬主機上下文重寫規則如何阻止較早的伺服器上下文重寫規則運行?

我在伺服器上下文中很早就有這個重寫規則。在任何虛擬主機之前。除非在虛擬主機上下文中執行某個重寫規則,否則它會按預期工作。那麼這個規則就被忽略了。
我沒想到虛擬主機上下文中的任何重寫規則會對伺服器上下文中的重寫規則產生影響。特別是當伺服器上下文重寫規則在配置中更早時。

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

vhost 上下文中阻止上述規則運行的規則是重寫以執行 shell 腳本 (cgi)。

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

vhost 上下文中還有其他重寫規則。但只有這一點似乎可以阻止伺服器上下文重寫規則運行。

相關內容