みなさんこんにちは masa です。今日はサーバー側の話です。よく .htaccess でリダイレクトしたり、wwwあり・なし統一などやりますが、よくやり方を忘れて都度調べ直してしまうことがあります。
今日はよく使う .htaccess の処理をまとめてみます。
URLをwwwありに統一
RewriteEngine on RewriteCond %{HTTP_HOST} ^hoge\.jp RewriteRule (.*) http://www.hoge.jp/$1 [R=301,L]
URLをwwwなしに統一
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.hoge\.jp RewriteRule (.*) http://hoge.jp/$1 [R=301,L]
http → httpsリダイレクト(301)
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://hoge.jp/$1 [R=301,L]
co.jp → jpリダイレクト(301)
RewriteEngine On RewriteCond %{HTTP_HOST} ^hoge.co.jp RewriteRule ^(.*) http://hoge.jp/$1 [R=301,L]
Basic認証
#vim .htaccess -------------------------- AuthUserFile /var/www/html/.htpasswd //絶対パス AuthName "IDとパスを入れてね" //メッセージ表示 AuthType Basic require valid-user -------------------------- #htpasswd -c /var/www/html/.htpasswd hogeuser //ユーザー名を末尾に入れる 任意のパスワードを2回入力
UserAgentにより振り分け
RewriteEngine On RewriteBase / RewriteCond %{HTTP_USER_AGENT} (iPhone|Android) //iPhoneとAndroidからのアクセスを振り分け RewriteRule ^$ /iphone/ [R] //上記のユーザーは /iphone/ のコンテンツを見せる
CGI実行許可
RewriteEngine on Options +ExecCGI AddType text/html cgi AddHandler cgi-script cgi
いかがでしたか?簡単ではありますが、よく使う .htaccess の処理をまとめてみました。ちょっと備忘録的になりましたが、みなさんの一助になれば幸いです。