2つのサイトが別々のドメインで実行されているマルチサイトインストールがあります。これらのサイトの1つはhttps://を通過する必要があり、もう1つはhttp://に固執する必要があります。また、wwwを含むようにすべてのトラフィックを書き換える必要があります。接頭辞。
そう:
example.comに書き直されますhttps://www.example.com
example.co.ukはhttp://www.example.co.ukに書き換えられました
これを処理するように.htaccess
ファイルを設定しようとしています。 here で説明されている構文で試しました。
RewriteEngine on
<If "%{HTTP_Host} == 'example.com'">
RewriteCond %{HTTP_Host} !^www. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_Host}/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
</If>
<If "%{HTTP_Host} == 'example.co.uk'">
RewriteCond %{HTTP_Host} !^www. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_Host}/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !http
RewriteRule ^(.*)$ http://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
</If>
言うまでもなく、それは機能していません。どんな入力でも大歓迎です!
最初に、[drupal] /sites/sites.phpファイルを使用して次のようなことを試みます。
$sites['example.co.uk'] = 'example.com';
$sites['example.com'] = 'example.com'; // for demonstration only
次に htaccess module をチェックしてHTTPSを強制します。これらはオプションです:
これはテストされていませんが、次のように動作します:
# Force HTTPS for example.com
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_Host} !^(www\.)?example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [NC,R=301,L]
# Force HTTP for example.co.uk
RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_Host} !^(www\.)?example\.co\.uk$ [NC]
RewriteRule ^(.*)$ http://www.example.co.uk/$1 [NC,R=301,L]
私の提案は、リダイレクト以外は何も変更しないことですhttp://example.com
からhttps://example.com
付き(
RewriteCond %{HTTP_Host} ^(www.)?example.com$
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI}
リダイレクトしたい場合はhttps://example.co.uk
to http://example.co.ukadd the following line to your
。htaccess`ファイル(ただし、必要ないようです)
RewriteCond %{HTTP_Host} ^(www.)?example.co.uk$
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_Host}%{REQUEST_URI}
また、 Htaccess moduleでそれらを設定することもできます
Htaccessは、設定に基づいてDrupalルートhtaccessファイルを自動生成するモジュールです。
Drupalは、Apache Webサーバーのすべてのhtaccessに適合する1つのサイズを提供しようとしますが、この目標はますます難しくなっています。このモジュールにより、ウェブマスターは特定のオプションを設定できます。
また、このモジュールは、バージョンのアップグレード中に毎回htaccessを手動で変更してDrupalを使用したくないWebマスターを対象としています。
特徴:
-リダイレクトをwwwまたは非wwwに設定します。
-FollowsymlinksまたはSymlinksIfOwnersMatchを使用します。
-HTTPSサポート(すべての要求をHTTPSにリダイレクトするか、両方のプロトコルをサポートします)。
-コアテキストファイル(CHANGELOG.txtなど)が表示されないようにします。
-Boost htaccess設定を挿入する機能
-Drupalルールの前にカスタムルールを追加します。
-各htaccessはプロファイルに添付されます。このように、いくつかを管理できます
-htaccessファイルを作成し、適切なファイルをWebサイトに展開します。
-htaccessが変更されているかどうかを確認し、サイトのステータスを報告します。
-リスト項目-Drush統合。