가상 호스트 컨텍스트 재작성 규칙은 어떻게 이전 서버 컨텍스트 재작성 규칙이 실행되는 것을 방지할 수 있습니까?

가상 호스트 컨텍스트 재작성 규칙은 어떻게 이전 서버 컨텍스트 재작성 규칙이 실행되는 것을 방지할 수 있습니까?

서버 컨텍스트 초기에 이 재작성 규칙이 있습니다. 가상 호스트보다 먼저요. 가상 호스트 컨텍스트의 특정 재작성 규칙이 실행되는 경우를 제외하고는 예상대로 작동합니다. 그러면 이 규칙이 누락됩니다.
가상 호스트 컨텍스트의 재작성 규칙이 서버 컨텍스트의 재작성 규칙에 영향을 미칠 것이라고는 예상하지 못했습니다. 특히 서버 컨텍스트 재작성 규칙이 구성에서 훨씬 이전에 있는 경우.

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

위 규칙이 실행되지 않도록 하는 가상호스트 컨텍스트의 규칙은 쉘 스크립트(cgi)를 실행하도록 다시 작성되었습니다.

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

vhost 컨텍스트에는 다른 재작성 규칙이 있습니다. 그러나 이것만이 서버 컨텍스트 재작성 규칙이 실행되는 것을 방지하는 것 같습니다.

관련 정보