- WEBデザイン&WEBプログラミング -sei2の日記- - http://blog1.dd-company.com -

携帯からのアクセス振り分け方法

自分で作成したサイトをPCでけじゃなく携帯でも見る事が出来るようにしたい場合、携帯の機能上の制約から、PC用と携帯用でそれぞれホームページをデザインする必要があります。その為、アドレスはそれぞれ違うものになります。例えば、
http://cycle.dd-company.com/index.html・・・PC用
http://cycle.dd-company.com/i/index.html・・・docomo用
です。コレは、先日記事にした、通学用自転車一覧(サドルでGO!)のホームページですが、このままですと、ブログで紹介するときに、それぞれのアドレスのリンクを貼る必要があります。でも、ブログとかは、携帯からPC用のアドレスで、携帯用のホームページにアクセスできます。これは、サーバー側でPCと携帯、携帯の機種を振り分けてマッチしたホームページに転送しているそうです。そこで、ちょこっとググって、実際にやってみました。
まず、やり方ですが、何通りかあるようです。
・フレームを使う方法
・CGI,PHPを使う方法。
・.htaccessを使う方法。
今回は、「.htaccess」を使ってやってみました。。
.htaccessといううファイルを、PC用のindex.htmlと同階層にアップロードし、パーミッションを604(ロリポップの場合)に設定するだけです。
では、実際に行った作業を順に説明していきます。

1. まずは、ホームページの作成。
PC用と、各携帯キャリヤ用を作成します。
それぞれのトップページは、すべてindex.htmlです。

2. 作成したホームページをサーバーにアップロードします。
http://dd-company.com/cycle/index.htmlの例。
cycleフォルダにindex.html(PC用)
cycle/iフォルダにindex.html(DOCOMO用)
cycle/yフォルダにindex.html(SOFTBANK用)
cycle/eフォルダにindex.html(AU用)

3. 「.htaccess」ファイルを作成します。
メモ帳等のテキストエディタを使って作成します。
ファイル名はとりあえず、htaccess.txt にしてください。
htaccess.txt の内容は下記のとおりです。

RewriteEngine On

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

RewriteCond %{HTTP_USER_AGENT} J-PHONE
RewriteRule ^$ /y/ [R]

RewriteCond %{HTTP_USER_AGENT} Vodafone
RewriteRule ^$ /y/ [R]

RewriteCond %{HTTP_USER_AGENT} SoftBank
RewriteRule ^$ /y/ [R]

RewriteCond %{HTTP_USER_AGENT} UP.Browser
RewriteRule ^$ /e/ [R]

4. htaccess.txt をアップロードします。
FTPソフトを使うか、レンタルサーバーのFTPアップローダを使用してください。

5. サーバー上のファイル名を変更します。
ファイル名「htaccsess.tex」を「.htaccess」に書き換えてください。
FTPソフトかFTPアップローダを使用して書き換えてください。
ロリポップの場合は、ロリポップ!FTPで「htaccess.txt」をクリックしたとき、上の「フォルダ名」という項目を書き換えて、「保存する」をクリックします。

6. パーミッションを604にしてください。
これも、FTPソフトかFTPアップローダを使用してください。
ロリポップの場合は、ロリポップ!FTPで「.htaccess」をクリックしたとき、右上の「現在の属性」という項目の数字がパーミッションで、この数字を604に書き換えて「保存する」をクリックします。

以上で作業終了です。
見よう見まねで、単語の意味なんかもわからないものですから、質問はしないでくださいね。自力でググってください。
素人の私に出来たのですから、そんなに難しい作業ではないと思います。
上記の作業の中で、一番難しいのは、携帯用のホームページを作成することでした。携帯がメモリ不足で表示できなかったりします。画像サイズをwidthで指定して小さくしても、元画像のサイズが大きいとだめでした。ホームページビルダーで携帯ページに変換というコマンドを使用しても後修正は結構必要でした。
それから、上記の例ですが、実際はめんどくさくて、Docomo版しか作っていません。だから、「.htaccess」は全部 RewriteRule^$/i/[R]にしました。最初は全キャリヤ分作ろうと思っていましたが、Docomo版を作ったら、AUでも見れたのでコレで良しとしました。だってほとんどこのブログのアクセスはDocomoとAUで、Softbankからはないんですもの。関西デジタルフォンファンの皆様ごめんなさい。

あと、携帯実機での検証は、持っているAU携帯以外ではしていないので、どこまでカバーできているかはわからないです。ただ、今日1件Docomo携帯からアクセスがあってちょこっとの時間見ていらしたようですのでその携帯では大丈夫のようです。

サドルでGO!