携帯端末の404 Not found対策

携帯端末の場合、サーバからステータスコード404が返ると、サーバ側のエラー画面を表示するのではなく処理を中断してしまうことがある(少なくともauではそうなった)ので、.htaccessでの制御で工夫しなければいけない。

普通、ステータスコード別に表示するHTMLドキュメントを指定する場合は

ErrorDocument 404 /error.html

のようにErrorDocumentディレクティブを利用する。しかし、ここで指定するのがローカルファイルへのパスの場合、ステータスコードはそのまま404を返してしまうため、携帯端末だとページを表示する前に処理が中断され、指定したドキュメントを表示させることができない。

解決方法は簡単で、

ErrorDocument 404 http://selfkleptomaniac.org/error.html

のようにリモートのURLを指定すると、この場合は404ではなくリダイレクトの302が返るため、携帯でも問題なく表示することができる。Apacheのマニュアルでは

リモート URL (例えば、頭に http と付与した方法) を ErrorDocument に指定するとき、 たとえ文書が同じサーバにあろうとも、ドキュメントがどこにあるかを通知するために、 Apache はリダイレクトをクライアントに送出するということに、注意してください。 これにはいろいろと関連して起こる問題があります。 中でも最も重要なのは、クライアントは元々のエラーステータスコードを受け取らず、 代わりにリダイレクトのステータスコードを受け取るということです。 これにより、ステータスコードを使って URL が有効であるかどうかを決定しようとする ウェブロボットやその他クライアントを、混乱させるかもしれません。 さらに、ErrorDocument 401 にリモートの URL を指定すると、 クライアントは 401 というステータスコードを受け取らないため、 パスワードをユーザーに入力要求しなければならないことがわかりません。 従って、ErrorDocument 401 というディレクティブを使う場合は、 必ずローカルな文書を参照しなければなりません。

とのこと。

Popularity: 3% [?]

NDA

携帯電話向けのウェブアプリケーション開発は、PC向けと違って対応するブラウザの挙動の違いからものすごい数のバッドノウハウがある。

世の中の開発者たちとその情報を共有して、もっと面白いサービスが登場するのを期待したいのだけれども、そういったバッドノウハウはみんなNDAで保護されているため、うかつに公開することが出来ない。

今日も、喉から(指先から)出掛かっている情報があるのだが、やっぱり書けない。

ケータイの世界がどんどん収縮して、端末の性能がPCと遜色なくなって、サービスも同等のものが提供される世の中はもうすぐそこまで来ているのに、ケータイの世界はこうして自滅を待つばかりだ。

Popularity: 1% [?]

R.I.P. HDML

EZWeb@mailコース終了のお知らせ

これで正式にHDMLを利用したサービスが消滅する。

Popularity: 1% [?]

SoftBank殺し

SoftBankから通達があり、パケット通信中に端末に何らかのパケットが送信された場合、そのパケットも通信量として加算されるとのこと。

パケットし放題」は上限9,800円だが、IPアドレス指定でpingを打ちまくられると「PCサイトダイレクト」の対象になるので上限がちょっと上がって10,290円になる

Popularity: 1% [?]

D01HWのパフォーマンス

D01HWのパフォーマンスをgooスピードテストで計測。

六本木近辺での計測結果は1.47Mbps〜1.37Mbps。結構な数値だった。

Popularity: 1% [?]

em oneをMac BookのBluetoothモデムに

同じような記事があったけど、手元のログをまとめておく。

em one側の設定は特になさそうなので、Mac Book側の設定を。

(1)「システム環境設定」から「Bluetooth」を選択

このスクリーンショットではもうem oneは設定済み

Bluetooth

(2)「新規デバイスを設定」を選択

「続ける」を選択して2番目の画面では、とりあえず「任意のデバイス」を選んだ。

Bluetooth2

(3)em oneが検出されるので、「続ける」を選択して、Mac Bookとem oneの間でのパスフレーズを設定する。ここで設定したパスフレーズは忘れないこと。

(4)「システム環境設定」から「ネットワーク」を選択、表示は「Bluetooth」を選択

Bluetooth3-1

サービスプロバイダは適当に、アカウント名は「em」、パスワードは先程(3)で設定したパスフレーズを入力する。電話番号はなぜか「*99***1#」で。

(5)「Bluetoothモデム」タブを選択する。
Bluetooth4

モデムの機種を選択する。I-O DATA USB-CFADPで問題なく動作するので、こちらを選択。

以上で設定が完了する。「PPP」タブから「今すぐダイヤル」ボタンを選択すれば接続アシスタントが立ち上がる。

Popularity: 2% [?]