9/9 に、「某サーバ移行作業終了」っていうエントリーでチラっと触れているんだけど、またも InternetExplorer の狂った仕様に振り回されましたよ。
この時の作業は、実際に Web サーバを別のデータセンターに移動させる作業だったので、どうしても長時間のアクセス不能時間が発生する。なのでその間、その Web サーバへのアクセスをうちのサーバで受けて、どこのページにアクセスがあろうが「メンテナンス中です」のページを返す・・・ということにしてたのだ。
ま、Apache の運用をしている人なら、「ラクショーじゃん」って作業だよね。
「メンテナンス中です」のページだけ置いて、
ErrorDocument 404 /sorry.html
ErrorDocument 403 /sorry.html
とかすればいいだけなので。
ささっとサーバ設定を修正して、Firefox 3 で「メンテナンス中です」画面が出ることを確認。さあ、サーバを移動しましょうか・・・って腰を上げたら、InternetExplorer ユーザから「エラー画面しか表示しませんけど?」の問い合わせ。
確かに、InternetExplorer だと「ページが見つかりません」のエラー画面が表示される・・・
調べてみたら、InternetExplorer って、エラーコード毎に受信バイト数のしきい値の設定を持ってて、そのバイト数より小さい HTML データを受信した場合は、本来のページデータではなく、自前の「ページが見つかりません」画面を表示してしまうんだな・・・
馬鹿・・・
つーか、どういう仕様?
それって、誰か幸せになるの?
ほんま、わけがわからんわ。
404 エラーの場合は、512byte 以上の大きさの HTML データを返さないと駄目だそうだ。
あーあ、はい、はい。
ということで、</html>タグの後ろに鬼のように改行コードを入れて 600byte くらいの大きさのファイルにしたら、無事「メンテナンス中です」の画面が InternetExplorer でも表示された。
まったく・・・人騒がせな仕様じゃのお。(^^;
でも、日本にはこんな馬鹿な Microsoft が大好きという「信者」が多いのである。
ああ、恥ずかしい、恥ずかしい。そんなヤツは北朝鮮にでも行けばいいのに。(笑)