さくらのレンタルサーバ(スタンダードプラン)を Multisite Language Switcherと、WordPress MU Domain Mappingを使ってマルチサイト&マルチドメインで運用している。

この中の一つのサイトのみにラピッドSSLを適用した際にリダイレクトループの回避方法がわからずすったもんだした際のメモ。サイト構成(全て同じ WordPressで運用)は、

  • UBUNIFU.CO(英語)
  • JP.UBUNIFU.CO(日本語)
  • blog.blunder.me(英語)
  • womusubi.tokyo(日本語)←このサイトヘラピッドSSLを適用

変更点はこちらを参考にさせていただきました!(多謝)「さくらSNI 独自SSLでドメイン全体をHTTPS化する – はるかのひとりごと」。しかしながらですよ、同様の設定をしているのにも関わらず一向にループが断ち切れない。

いろいろ試した結果。これで、リダイレクトループは解消出来た。

.htaccess

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteCond %{HTTP_HOST} ^www.womusubi.tokyo$ [OR]
RewriteCond %{HTTP_HOST} ^womusubi.tokyo$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

wp-config.php

if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
    $_SERVER['HTTPS'] = 'on';
    $_ENV['HTTPS'] = 'on';
    $_SERVER['HTTP_HOST'] = 'womusubi.tokyo';
    $_SERVER['SERVER_NAME'] = 'womusubi.tokyo';
    $_ENV['HTTP_HOST'] = 'womusubi.tokyo';
    $_ENV['SERVER_NAME'] = 'womusubi.tokyo';
}