トップページ > 制作ブログ > htaccess > htaccessでhttpからhttpsへリダイレクトする方法!wwwあり・なし統一も一緒に記述
htaccess

仙台宮城の皆さんこんにちは!

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://andseek.jpにアクセスすると、自動的にhttps://andseek.jpにリダイレクトされます。

wwwあり・なし統一

続いて、wwwあり・なし統一です。例では「wwwなし」に設定する場合です。


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.datena\.net
RewriteRule (.*) http://andseek.jp/$1 [R=301,L]
</IfModule>

これでhttp://www.andseek.jpにアクセスすると、自動的にhttp://andseek.jpにリダイレクトされるようになります。

両方を記述

それでは、両方記述しましょう。


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.datena\.net
RewriteRule (.*) http://andseek.jp/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

上記のように記述すれば、http://www.andseek.jpにアクセスすると、自動的にhttps://andseek.jpにリダイレクトされるようになります。

これでURL統一は完璧です。

ちなみにWordPressで記述する際には、注意が必要なので下記のページをご覧ください。

おまけ

最初の行にあるIfModule mod_rewrite.cは、何をしているんでしょうか?


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.datena\.net
RewriteRule (.*) http://andseek.jp/$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を統一しましょう!

それではまた!仙台宮城でのホームページ制作やサイトリニューアルならアンドシークまで!もちろん宮城県外の方も大歓迎です!

関連記事

アクセスランキング

カテゴリ

タグクラウド