i-mode 対応

i-mode で見れるようにしました (ほかのケータイは持っていないのでテストできません).
うちは文字コードがUTF-8なんですが,i-mode だと完璧に文字化けするので.
つーか,ほとんど誰も見に来ないのに,さらにアクセスの少なそうなケータイ対応版を作ってどうするって言う話もありますが.

i-mode を持っていて,パケット代の惜しくない人は,https://alm-ore.com/alm-ore/ にアクセスしてみて,PCとの挙動の違いを確かめてみてください.

以下,やったことリスト

1. mt4i.cgi のインストール

ここ読めば,僕がくどくど説明するよりも,100倍良くわかります.言われたとおりやれば,ハマらないし.

2. URLの通知に不安を抱く

mt4i.cgi は,そのままだと i-mode ユーザーは というファイルにアクセスしなければなりません.
このURLをアナウンスするのがスジってもんでしょうが,うちのPC用のURLだってあまり認知されていないのに,別途 i-mode 用のURLを認知させるのは,うちのネコにトイレの場所を教える以上に困難なわけで...

そこで考えた.通常のMainページで,i-mode からのアクセスを検知して,振り分ければよいのではないかと.

3. perl スクリプト

以下のような perl スクリプトを作って,mobilecheck.cgi という名前をつけてみたり,mt.cgi とかがあるディレクトリに置いてみたり,chmod 755 してみたりしました.
— From Here —
#!/usr/local/bin/perl

$UserAgent = $ENV{‘HTTP_USER_AGENT’};

if ($UserAgent =~ /^DoCoMo/) {
print “&ltcenter&gt”;
print “&lta href=\”https://alm-ore.com/alm-ore/mt4i.cgi\”&gtalm-ore for mobile&lt/a&gt”;
print “&lt/center>&lthr&gt”;
print “&ltp&gtIf you access via mobile phone, &lta href=\”https://alm-ore.com/alm-ore/mt4i.cgi\”&gtCLICK HERE&lt/a&gt to go to alm-ore.&lt/p&gt”;
print “&ltp>Although Your terminal may display strange characters bellow, don’t worry.&lt/p&gt”;
}
— Until Here—

スクリプトの内容は,聡明な皆様には改めて説明することもないかと思いますが,

  1. ブラウザーの HTTP_USER_AGENT を調べる
  2. User Agent の文字列が “Docomo” で始まっていれば,アナウンスを出す
  3. アナウンスの内容は「モバイル用のページへ行け」,「下の方は文字がバケバケだけど,心配するな」.(どうしても,UTF-8 の内容も一緒に文字化けしたまま出てしまうので,安心させる目的と,一杯文字を書き込んでおけば,文字化けした内容そのものが画面から追い出されるだろうという期待)

が主なお仕事です.

4. Main Index のテンプレートに細工

<body&gt のすぐしたあたりに,SSIで
<!–#exec cmd=”./mobilecheck.cgi” –&gt
を埋め込んでみる.

もっとオサレげで,スマートなやり方があるのかもしれないけど,まぁこんなところで.

このエントリーをはてなブックマークに追加

コメント (1)

  1. mayasuke

    いーにゃんが「トイレくらい覚えてるよ!」と抗議してますよ。

mayasuke へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です