「このページは表示できません。サポート対象外です。(T3040403)」と表示されてしまいます。
なにか訳があるのでしょうか?
機種は803Tです。
どなたかヒントでも良いので、ご教授願えませんでしょうか?よろしくお願いいたします。
CGIはサーバ側で動かすものなので基本的にネットワークに接続
できて、HTTP通信ができる機器では関係なく動作します。
問題は出力されるHTMLそのものやその情報のサイズです。
vodafone用のHTMLを出力するCGIでなければいけません。
また、携帯は受信サイズも最大値があり、それ以上のサイズだと
受信できません。
その他にも携帯で使用できないタグやスクリプトなどを使用して
いる等です。
エラーコード(?)が違うのでまったく同じではないと思いますが、同内容のエラーメッセージが表示されるパターンとして、リダイレクトさせている時に表示されるようです。
・参考
http://chain.main.jp/weblog/archives/2005/05/vodafone.html
他に考えられることとしては、同サイト内で少し書かれている「URL中にsidやuidが使えなかったりするvodafone。」
それから、そもそもCGIを実行させる前(リンクなりボタンなりからアクションを行った場合)の辺りでこのエラーが発生する状態になっていないか?というところだと思います。
ありがとうございますっ!
CGIへのリンクがリダイレクトとして認識されるのでしょうか・・・あ!CGIへのリンクのやり方を変更してみましょう。しかし、腹立たしい。
またご報告いたします!
ローカル上で実行した場合、エラーなく正常に出力できていますか?
スクリプトにエラーがあった場合は、正常に表示できません。
また、HTTPヘッダなどはちゃんと出力していますか?
Perlパスは間違っていませんか?
以下のような感じの最小限スクリプトでも正常に表示できないで
しょうか。
(携帯用のHTMLはよく分からないので以下はPC用のHTMLですが)
#!perl # ↑上記はサーバの正しい Perl パスに修正してください。 print "Content-type: text/html; charset=Shift_JIS\n\n"; print <<"_HTML_"; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-type" Content="text/html; charset=Shift_JIS"> <title>test</title> </head> <body> <div>test</div> </body> </html> _HTML_ exit;
ご親切に・・・本当にありがとうございます。
早速テストしてみました。
この簡単なCGIであれば表示されます。
ということは、CGIから設定ファイルやHTMLテンプレートなどを読みに行っていることが気に入られない原因なのでしょうか?
CGIが複雑だと表示されない??弱りました。
できれば、そのCGIスクリプトを提示していただけないでしょうか。
何か、誤りがあれば分かる人が指摘してくれるかもしれません。
よくあるのはHTTPヘッダの出力時にLFを2回入れていないとか
出力するHTMLのエンコードとmetaなどで指定されたエンコードが
異なる場合などがあります。
エラーが発生した場合も、同様に正常に表示ができないので
ローカルでちゃんと実行できていることを確認する必要があります。
> perl test.cgi
のような感じで。
ローカル環境がWinでもActivePerlを入れれば実行できますので
テストしてみてください。
ありがとうございます!
なんだか、同じサーバー、同じプログラムでも機種が違えば表示されないなどの事例も多くありますし、ASPなども視野に入れながら、ちょっと頭を冷やしてみます。
villain様はじめ皆様の丁寧な対応、感謝いたします。
ありがとうございます!
・・・ですが、吐き出されるHTMLと全く同じものを別に用意し、アクセスするとちゃんと表示されるのです。CGIを通すと・・・という気がしてならないのですが・・・。