モバイルサイトの制作とサーバー設定(さくらインターネット編)

モバイルサイトを制作する際には、通常の制作と違い、サーバーの設定やコーディングに気をつけなければいけない事が多々あります。

さくらインターネットの場合を例に解説します。

.htaccessでの振分け

PC版、docomo版、SoftBank版、au版を.htaccessで振り分けます。

RewriteEngine On

#docomo
RewriteCond %{HTTP_USER_AGENT} DoCoMo
RewriteRule ^$ https://www.tomokos.net/tmp/docomo/ [R]

#SoftBank
RewriteCond %{HTTP_USER_AGENT} J-PHONE
RewriteRule ^$ https://www.tomokos.net/tmp/softbank/ [R]
RewriteCond %{HTTP_USER_AGENT} Vodafone
RewriteRule ^$ https://www.tomokos.net/tmp/softbank/ [R]
RewriteCond %{HTTP_USER_AGENT} SoftBank
RewriteRule ^$ https://www.tomokos.net/tmp/softbank/ [R]
 
#au
RewriteCond %{HTTP_USER_AGENT} UP.Browser
RewriteRule ^$ https://www.tomokos.net/tmp/au/ [R]
RewriteCond %{HTTP_USER_AGENT} KDDI
RewriteRule ^$ https://www.tomokos.net/tmp/au/ [R]

php.iniの設定

PHPのShift_JIS文字化け対策

モバイルサイトを制作する際に避けて通れないのが、Shift_JISでのコーディングです。

Shift_JISで、メールフォームを設置すると、特定の文字が化けます。
文字化けを回避するためには、Magic Quotes GPCをoffにする必要があります。

設定方法は、コンパネにログイン→[PHP設定の編集]で行えます。

クッキーを使用したセッションを使えない

SoftBankとauでは、よほど古い機種で無い限り大丈夫なのですが、docomoの場合、クッキーを使用したセッションが使えません。

そこで、session.use_trans_sidを有効にする必要があります。

設定方法は、コンパネにログイン→[PHP設定の編集]で行えます。

magic_quotes_gpc = Off
session.use_trans_sid = 1

au携帯とenctype=”multipart/form-data”
auの場合formタグにenctype=”multipart/form-data”を指定すると、何故か無視してくれずにURLENCODEを掛けて、文字化けしてしまいます。

docomoもauもformタグにenctype属性は、ありません。
docomoの場合は、記述してあっても、無視されますが、auは、無視されませんので、注意が必要です。

2010/03/17