我有几个网站共享一个htaccess文件(Drupal multisite),并希望将其中几个重定向到网站的https版本。我在一个域中看到了this solution:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^specific\.com [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
我想修改它以适用于多个域,但我不确定是否可以执行以下操作,或者是否需要重写这些行:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^specific\.com [NC]
RewriteCond %{HTTP_HOST} ^another\.com [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
我不想尝试,以防我炸掉几个现场。
答案 0 :(得分:2)
有两个选项:
只需重定向所有域名:
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
或使用[OR]
子句定位特定子域:
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^specific\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^another\.com [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]