お問い合わせページの設置が一気に解決


実は、ここ数ヶ月ずーーと気になっていたんけど、対策がイマイチ浮かばず、何とか動いていたので放置したままの自社サイトのお問い合わせページ」がありました。


最近、私は、他のプロバイダのレンタルサーバーである取引先用にサイトを立ちあげることになった。そのサイトでは、問題なく「問い合わせページ」が動いている。だからサーバーの違いで動かいないのかなと漠然と思い始めた。

新しいサイトは、ページ制作もほぼ完了し、当初は問い合せメールのみ対応しようと考えていた。しかし、仕上がりがかなりよく、引渡しが延期された。じゃあせっかくだから、「問い合わせページ」作っちゃおってことになったのです。

早速、CGI設置マニュアルに従い作業すると、実にすんなり動いた。

稼働中かつ不具合のある「問い合わせページ」は、もともとサーバー側に用意されたいたCGIプログラムを使った。そして、
すんなり動いたCGIプログラムサンプルは、先人が作ってくれて無料で提供されているダウンロード版であった。


取引先用サイトでうまく動いたから気をよくして、自社サイトの「問い合わせページ」を置き換えることにした。同じ手順で不具合フォームメール「問い合わせページ」をサーバーに設置してみた。

するとやっぱり「サーバーエラー500」がでてた。確かに、前回はここで挫折!あきらめた。しかし、今回は別のサーバーですんなり動いているという確証がある。「問い合わせページ」設置作業をやり遂げた経験と自信が私を障害立ち向かわせた。
 

まず、「サーバーエラー500」を用語でググり、エラーの原因を調べました。その原因「改行コードや、漢字コードがおかしい」というものでした。そこでの解決法「EUC/LEを指定して保存」を試したところ無事動き第一関門突破。

第2関門は、送信されたメールの一部が文字化けしている。既に問題なく動いているサーバーでは、文字化けをおこしていない。そこで、CGIのソースを見ると、ソースの中で直接設定している変数が文字化けしているからだと判明。そこで、その読み込み箇所の文字コード変換が必要と思いググってみた。

▼直接その部分のみ書き換えた→エラー
▼その箇所のみ文字コード変換する→&jcode'convert(*XXX,'sjis')を設定と思ったが、どうしてもCGIがEUCなのが原因ではないかという思いが拭えない。

とあるQ&AでサーバーにEUCに変換しないでアップロードしましょう!というコメントを見つけた。それから、1時間程瞑想し、もしかしたら「LEのみを指定して保存」すればよいのではと閃き、実行してみた。ビンゴ!動きましたぁ。

やっと動いたので、テストメールを整理するためにレンタルサーバーの管理画面へ。そもそもFAQのページが見つからないのがおかしいよねと思いながら作業していました。メール設定のヘルプページを初めて開いてみたら、結構親切に説明があるじゃない。

管理画面をいろいろと切り替えてみたところ、FAQのメニューがでているではないか。早速、FAQのページに入ると、かなり親切なFAQがあった。なんと、私が数ヶ月悩んで本日やっと解決したこともきさいされているではないか。

このFAQのページ、メール設定のヘルプページを開いた状態でないとメニューが現われない。なぜ???

確かにCGIのサンプルは同じプロバイダのADSLサービスを介してではないとそのページに入れなかった。それと関係があるのか?とにかく、調べてみよう。まあ、やっとすっきりしたことにはまちがえないけどね。エンジニアの性か、問題解決した時が一番の幸せを感じる。