「www」の有り無しを統一しつつ、携帯を振り分けるhtaccessメモ
例:
http://○○.com/.htaccess └/mobile/
※Apacheの「mod_rewrite」が使えること。
※「www」は無しで統一
※携帯用サイトは「mobile」ディレクトリ内
※ユーザーエージェントで携帯を振り分ける。そのため偽装すればPCからもアクセス可能。
#携帯振り分け Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !^/mobile RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC,OR] RewriteCond %{HTTP_USER_AGENT} (J-PHONE|Vodafone|Softbank|MOT-) [NC,OR] RewriteCond %{HTTP_USER_AGENT} (KDDI|UP\.Browser) [NC,OR] RewriteCond %{HTTP_USER_AGENT} (PDXGW|DDIPOKET|WILLCOM) [NC,OR] RewriteCond %{HTTP_USER_AGENT} ASTEL [NC,OR] RewriteCond %{HTTP_USER_AGENT} L-mode [NC] RewriteRule ^(.*)$ /mobile/$1 [R,L] #「www」無しに統一 RewriteCond %{HTTP_HOST} ^(www\.○○\.com)(:80)? [NC] RewriteRule ^(.*)$ http://○○.com/$1 [R=301,L]
ちなみに「www」有りで統一する場合
RewriteCond %{HTTP_HOST} ^(○○\.com)(:80)? [NC] RewriteRule ^(.*)$ http://www.○○.com/$1 [R=301,L]
オプションのメモ
●RewriteCondのオプション
[NC] 大文字小文字を区別しない
[OR] または。設定しない場合は「AND」になる。
●RewriteRuleのオプション
[R] 302(一時的移動)。「=301」をつければ301(永久移動)
[L] Last。この条件にマッチしたら終了する。
他にも色々設定できます。あーむずかし…(´д`;)
検索しまくって色んなサイトを参考にさせていただきました。
主に参考にさせていただきました。
http://webtech.akijapan.com/htaccess/rewrite.phtml
もっと詳しく知りたいとき。
google:apache rewrite
正規表現がわかるとやり易いかも。
google:正規表現