.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>
覚えるにはめんどくさいけど、いつもやる作業をめもってみた。 件。