さくらのレンタルサーバ(スタンダードプラン)を 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'; }