たまにはまじめなドリーマーday's

普段はやんちゃな悪ふざけドリーマーが、たまーにまじめになって書きおろす開発者の苦悩と閃き

.htaccessでリダイレクト設定[www有無統一][http,https]

どうも、はぐっです・ω・♪

Webサーバの設定ファイルである「.htaccess」。
サイトを制作する上で、ほぼほぼお世話になるであろうこのファイル。

ってことで、今回は、

.htaccessでリダイレクトを楽に設定しちゃおう♪」

という楽々メソッドを紹介!

まずは登場人物の紹介ー。

IfModule

指定したモジュールが利用できる場合に中身を評価する。

mod_rewrite.c

リダイレクトとかURLの書き換えをしてくれる。 愛称:もどりらいと。

RewriteEngineディレクティブ

Rewrite機能のオン・オフを制御する。

RewriteCondディレクティブ

Rewrite機能のトリガーとなる条件を指定する。

RewriteRuleディレクティブ

書き換えるURLを指定する。

ではでは、

リダイレクト設定をhtaccessで書いてみます。

www 有り・無し 統一方法

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

はい、wwwきたー。

httpをhttps

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

はい、httpsきたー。

ってな感じです。

で、実際の状況を考えて、 「wwwに統一、かつhttps化」 という状況の.htaccessの中身を載せちゃいます!

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

覚えるにはめんどくさいけど、いつもやる作業をめもってみた。 件。