仙台の皆様、こんにちは!
2018年7月にリリースされたGoogle Chromeの新バージョン「Chrome68」では、すべてのhttp接続のページに警告が表示される仕様になりました。どんなにいいコンテンツを作っても「警告」が出てしまっては、信頼もガタ落ちです。
これから益々、サイト全体をSSL化して常時SSLでページを表示することが重要性になります。今日は「htaccessでhttpからhttpsへリダイレクトする方法と、wwwあり・なし統一も一緒に記述」する解説します。
目次
httpからhttpsへリダイレクト
まずは、httpからhttpsへリダイレクトします。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
これでhttp://datena.netにアクセスすると、自動的にhttps://datena.netにリダイレクトされます。
wwwあり・なし統一
続いて、wwwあり・なし統一です。例では「wwwなし」に設定する場合です。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.datena\.net
RewriteRule (.*) http://datena.net/$1 [R=301,L]
</IfModule>
これでhttp://www.datena.netにアクセスすると、自動的にhttp://datena.netにリダイレクトされるようになります。
両方を記述
それでは、両方記述しましょう。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.datena\.net
RewriteRule (.*) http://datena.net/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
上記のように記述すれば、http://www.datena.netにアクセスすると、自動的にhttps://datena.netにリダイレクトされるようになります。
これでURL統一は完璧です。
ちなみにWordPressで記述する際には、注意が必要なので下記のページをご覧ください。
おまけ
最初の行にあるIfModule mod_rewrite.cは、何をしているんでしょうか?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.datena\.net
RewriteRule (.*) http://datena.net/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
これは利用環境でmod_rewriteが利用できるかどうかを確認しています。「mod_rewriteが利用できる環境ならば・・・」という感じです。
mod_rewriteが利用できない環境でmod_ rewriteのコードを記述するとエラーが発生してしまうので、このようにmod_ rewriteが利用できるか確認を行なっているわけです。
まとめ
冒頭でも書きましたが、これから常時SSLが重要になることは明白です。最近は無料でSSL化できるサービス(Let’s Encrypt)も登場し、それを利用できるレンタルサーバーも増えました。
常時SSL化した際は、必ずhtaccessでURLを統一しましょう!
それではまた!仙台・宮城でのホームページ制作やサイトリニューアルならダテナまで!