CORESERVER で 共有SSL にリダイレクトする方法(PHP)
例) http://default.com/ → https://ss1.coressl.jp/default.com/
CORESERVER で、共有SSL を設定する方法として
.htaccess の RewriteRule で行う方法があります。
RewriteEngine on
RewriteRule ^(.*)$ https://ss1.coressl.jp/%{HTTP_HOST}%{REQUEST_URI}/ [L,R]
しかし、ループエラーが発生して、どうしてもうまくいきませんでした。
xampp ではうまく置換してくれるのに、coreserver ではダメです。
原因ははっきりわかりませんが、サーバー側のドメイン名の置換のときにへんなループに陥っているような感じでしょうか・・・
■そこで、meta タグの refresh でやってみました。
if( $_SERVER['SERVER_PROTOCOL'] != 'HTTP/1.0' ) { // http のとき
print '<meta http-equiv="refresh" content=";URL=https://ss1.coressl.jp/default.com/">';
}
これだとうまくいきました。
補足説明:<HTML>の<META>タグを PHP で動的に書き換えています。
http・・・でアクセスしたときは、https・・・で refresh します。そして
https・・・でアクセスしたときには、refresh しない仕組みにしておけばOKです。
0 件のコメント:
コメントを投稿