.htaccessの作成

複数の.htaccessを1つにまとめる方法
 
WordPressでは.htaccessは必須ファイルとなっている。(勝手に作られる)
特にhtmlで表示する設定にしている場合等はなおさらだ。(htmlで表示を参照)
WordPressは携帯版やスマートフォン用サイトとして、ビジネス用に運営するにはかなりのハードルがある。
メニューを自由に配置したり、画像表示などでかなりの不具合が出るのだ。
きちんとしたビジネスサイトでは、ktai-styl等のプラグインを使用せず、携帯版とスマートフォン用サイトはホームページビルダー等で別個に作成したいという場合がある。
しかし、携帯やスマートフォンからアクセスがあった場合、自動で端末を認識し、それぞれの端末用のサイトを表示させたい場合に.htaccessファイルで振り分けることは説明するまでもないことだろう。
 
しかし、WordPressでは既に.htaccessファイルを使用している為、複数の命令を記述する必要が出てくる。
が、あわてることはない。
やりかたは非常に簡単で、もともとある.htaccessファイルに続けて携帯やスマートフォンに振り分ける命令を記述すれば良いだけだ。
 
記述方法は以下の通り。


# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

RewriteEngine On

# iPod
RewriteCond %{HTTP_USER_AGENT} iPod
RewriteRule ^$ /sm/ [R]

# iPhone
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteRule ^$ /sm/ [R]

# iPad
RewriteCond %{HTTP_USER_AGENT} iPad
RewriteRule ^$ /sm/ [R]

# Android
RewriteCond %{HTTP_USER_AGENT} Android
RewriteRule ^$ /sm/ [R]

# DoCoMo
RewriteCond %{HTTP_USER_AGENT} DoCoMo
RewriteRule ^$ /m/ [R]

# Softbank
RewriteCond %{HTTP_USER_AGENT} J-PHONE
RewriteRule ^$ /m/ [R]
RewriteCond %{HTTP_USER_AGENT} Vodafone
RewriteRule ^$ /m/ [R]
RewriteCond %{HTTP_USER_AGENT} SoftBank
RewriteRule ^$ /m/ [R]

# AU KDDI
RewriteCond %{HTTP_USER_AGENT} KDDI
RewriteRule ^$ /m/ [R]
RewriteCond %{HTTP_USER_AGENT} UP.Browser
RewriteRule ^$ /m/ [R]

# DDI Pocket
RewriteCond %{HTTP_USER_AGENT} DDIPOCKET
RewriteRule ^$ /m/ [R]

# WILLCOM
RewriteCond %{HTTP_USER_AGENT} WILLCOM
RewriteRule ^$ /m/ [R]

1行目の「# BEGIN WordPress」~8行目「# END WordPress」までがWordPressで使用する部分。
9行目の「RewriteEngine On」~最後の行「RewriteRule ^$ /m/ [R]」までが、携帯やスマートフォンに振り分ける命令である。
因みに、上記では携帯サイトは「m」フォルダ・スマートフォンは「sm」フォルダに格納したものである。
フォルダ名が違う場合は、適宜変更すること。