このブログ,画面右側に「ブログ内検索」というのがあるのをご存じでしょうか.例えば検索キーワードの欄に「波勝崎」と入れて「検索」ボタンを押すと,「波勝崎」の文字がある記事が検索されます.
ただし,現在のところ,携帯からは出来ません.いずれ作ります
ところがです,Google Chrome・Apple Safari・Opera・Firefoxでは,なんとhtmlソースが表示されてしまってました.Internet Explorerでは正常なのに.
なぜなのか判らず,一晩悩みました.おそらくサーバー引っ越し以来だと思います.
なして今まで気が付かなかったんでしょうね.ひとえにデバック不完全ってやつですね.
パケットモニターで見ると・・・・
HTTP/1.1 200 OK
Date: ***, ** *** 2011 **:**:** GMT
Server: Apache
1320536350Content-type: text/html
Keep-Alive: timeout=7, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/plain
レスポンスに変な文字列が返ってます.4行目です.1行余計です.こんなのは出ないはず.
どうやら,Internet Explorerはこれを無視,ほかのブラウザは「変なのがある」ということでテキスト扱いし,ソースを表示してたようです.
このブログはCGI(Prel)で生成しています.結局のところ,CGIのバグでした.判ってみれば簡単,されど見つけるのに苦労しました.
Last-Modifiedの生成をしているのですが,検索ではLast-Modifiedを出さないことにしています.ところがファイルのタイムスタンプがunix内部コードのまま出てました.その後に,なしてか「Content-type: text/html」が勝手に加えられたようで.
正常(検索)(修復後)
HTTP/1.1 200 OK
Date: ***, ** *** 2011 **:**:** GMT
Server: Apache
Keep-Alive: timeout=7, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
正常(検索以外)
HTTP/1.1 200 OK
Date: ***, ** *** 2011 **:**:** GMT
Server: Apache
Last-Modified: ***, ** *** 2011 **:**:** GMT
Keep-Alive: timeout=7, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
Internet Explorerに加え,Google Chrome・Apple Safari・Opera・Firefoxで正常性を確認しました.
このバグにぶつかってしまった方,ごめんなさいです.以後気をつけます.