ワードプレスのような動的ページはプラグインで一瞬でHTTPS化が終わってしまいます。ところが静的ページのWEBサイトではプラグインなんて使えませんので自力でやるしかありませんね。
静的ページでSSL化で必要な.htaccessでの301リダイレクト
http://~にアクセスがあった場合https://~に誘導します。.htaccessの内容は
1 2 |
RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
でもこれだけではhttp://www.~にアクセスがあった場合https://~に誘導されません。そこで必要になるのが
1 2 3 |
RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] |
まとめて書くと
1 2 3 4 5 6 |
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
内容はこんな感じです。
RewriteEngine On ・・・ ①URL の書き換えを可能にする
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] ・・・ ②wwwから始まる場合
RewriteRule ^(.*)$ https://%1/$1 [R=301,L] ・・・ ③wwwなしのアドレスに変更
RewriteCond %{HTTPS} off ・・・ ④httpsではない場合
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] ・・・ ⑤https://~に書き換える
まずはwwwをwwwなしに変更しhttpをhttpsに書き換えるという順番。
.htaccessの保護
セキュリティを高めるため.htaccessファイルへのアクセスをすべて拒絶。
1 2 3 |
<Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> |
最終形
1 2 3 4 5 6 7 8 9 10 |
<Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
コメント