この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
こんにちは新人のカツオです。
今日は以前行った作業で、うまくいかなくてテンパった
apacheでのSSL接続からSSL接続へのリダイレクトについてご紹介したいと思います。
僕が行った作業はサイトのドメインを変更するというけっこう珍しい?作業でした。
ちょうどSSLの更新もあり、同時にドメインの変更。
そのときの作業項目に
「旧ドメインから新ドメインのURLにリダイレクトする。」
というものがあったんですね。
テスト環境(SSLは取得していない)では
apacheのhttpd.confファイルの設定で
virtualhostの設定項目に
Redirect / https://xxxxxxxxxxxx.com/
の様に記述していました。
http接続→httpsの場合それで問題はありませんでした。
しかし
本番実施日になっていざ対応してみると
全然リダイレクトされない。。。。
どうやら、https接続でのリダイレクトはできないようです。
ということで別対応
ということで
redirect
ではなく
rewriteするという対応でことなきを得ました。
<VirtualHost 192.168.000.000:443 >
RewriteEngine On
RewriteCond %{HTTP_HOST} xxxxxxx.co.jp
RewriteRule ^/(.*)$ https://yyyyyyyy.com/$1 [R=301,L]
</VirtualHost>
てゆう具合に書きました。
※xxxxxxx.co.jpが旧ドメインで、https://yyyyyyyy.com/が新ドメインです。
https→httpsのリダイレクトの場合は注意しましょう。