モバイルサイトを制作する際には、通常の制作と違い、サーバーの設定やコーディングに気をつけなければいけない事が多々あります。
さくらインターネットの場合を例に解説します。
.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