PowerCMS ブログ

2017年04月06日

DynamicMTML .htaccess で HTTP アクセスを HTTPS に

DynamicMTML が有効になっているサイトに http://example.com でアクセスされても https://www.example.com へお通ししたい

というご要望がありましたので、DynamicMTML .htaccess に追記する方法をご案内します。

具体的には、以下のような3通りの URL でのアクセスを
http://example.com/
http://www.example.com/
https://example.com/

ここへリダイレクトしたいという内容です。
https://www.example.com/

お急ぎの方のために

RewriteCond %{HTTP_HOST} !=www.example.net [NC,OR]
RewriteCond %{HTTPS} =off
RewriteRule ^ https://www.example.net%{REQUEST_URI} [R=301,L]

ホスト名は適宜差し替えてください。

上記コードを、テンプレート DynamicMTML .htaccess 内2カ所の
RewriteEngine On
の直後に記述してください。

記述場所を間違えますと、DynamicMTML の動作を妨げるため、ご注意ください。

ここからは、Movable Type 好きな方向けです。

折角なら <$MTWebsiteHost$> を使いたいと。

RewriteCond %{HTTP_HOST} !=www.<$MTWebsiteHost$> [NC,OR]
RewriteCond %{HTTPS} =off
RewriteRule ^ https://www.<$MTWebsiteHost$>%{REQUEST_URI} [R=301,L]

www をホスト設定した環境だとこうでしょうか

RewriteCond %{HTTP_HOST} !=<$MTWebsiteHost$> [NC,OR]
RewriteCond %{HTTPS} =off
RewriteRule ^ https://<$MTWebsiteHost$>%{REQUEST_URI} [R=301,L]

DynamicMTML 用に加工される前に差し替えてしまいましょう、ということでした。

サーバー設定などの条件が揃う場合は、こんな風にも書けるのだとか

RewriteCond %{HTTP_HOST}/%{SERVER_NAME} !^([^/]+)/\1$ [OR]
RewriteCond %{HTTPS} =off
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
カテゴリー
DynamicMTML

ページの先頭へ