我有以下配置,
RewriteCond %{HTTPS} !^on$ [nocase,ornext]
RewriteCond %{HTTP_HOST} !^www\. [nocase,ornext]
RewriteCond %{HTTP_HOST} !\.com$ [nocase]
RewriteRule ^(.*)$ https://www.acme.com/$1 [redirect=301,last]
目的是在请求不是 HTTPS 或以 www 开头的情况下重定向到规范 URL。或以 .com 结尾。为了与开发者引擎无缝兼容,如果 %{HTTP_HOST} 包含,例如,我想排除所有dev.internal
这些指令。在这种情况下,应该立即跳过 RewriteRule。由于三个 OR 的评估优先级高于(隐式)AND,我想知道如何以及在哪里放置我的dev.internal
异常......感谢您的任何建议!
//编辑:嗯...如果 OR 具有更高的优先级,不应该
RewriteCond %{HTTP_HOST} !internal\. [nocase]
RewriteCond %{HTTP:X-Forwarded-Proto} !^https$ [nocase,ornext]
RewriteCond %{HTTP_HOST} !^www\. [nocase,ornext]
RewriteCond %{HTTP_HOST} !\.com$ [nocase]
RewriteRule ^(.*)$ https://www.acme.com/$1 [redirect=301,last]
那么工作呢?