重定向http->https,但排除子域

重定向http->https,但排除子域

我使用 Drupal,具有复杂的多域设置,并且有一个本地开发站点,该站点使用(本地)开发。子域。所以我想要一个可用于生产和开发的 .htaccess 文件。

生产站点使用HTTPS,htaccess文件中有HTTP->HTTPS重定向。如果在 .dev 子域上,我只想不重定向到 https:

<IfModule mod_rewrite.c>
  RewriteBase /

  # use website without "www."
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]

  # force HTTPS, but don't if on local development site
  RewriteCond %{HTTPS} !=on
  RewriteCond %{ENV:HTTPS} !=on
  RewriteCond %{HTTP_HOST} !^dev\.(.+)$ [NC]
  RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
</IfModule>

但这不起作用,并且会创建循环重定向。但我不明白为什么。有什么提示吗?

相关内容