使用.htaccess重定向到多个域的HTTPS

时间:2016-12-12 17:38:55

标签: apache .htaccess ssl mod-rewrite https

我有几个网站共享一个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}

我不想尝试,以防我炸掉几个现场。

1 个答案:

答案 0 :(得分:2)

有两个选项:

  1. 只需重定向所有域名:

    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
    
  2. 或使用[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]