いつもお世話になります。
今日、カウンタのCGIと、そのカウンタをセッティングするCGIを二つのサーバに設置したのですが、片方のサーバに設置したセッティングCGIがおかしいんです。
本当ならアクセスするとパスワードを求める画面になるはずですが、「次の場所からダウンロードするように選択しました」という、Windowsではおなじみのダイアログが現れて、そのパスワードを入れるページ自体をダウンロードすることになってしまいます。
ここで「ダウンロード」にせずに「上記の場所から開く」にすればパスワード入力画面は開くのですが、これはローカルディスク上で開いていることになりますから、もちろんCGIとしては作動してくれません。
しかし、こんな現象が発生してしまうのはWin98やWin MEでアクセスした場合で、Macでアクセスすると正常にパスワードを求めてきて、もちろんそのまま認証してカウンタのメンテができます。
また、このWinで正常に作動しないのは2つのサーバに設置した内の片方だけで、全く同じものを全く同じ名前とセッティングでアップしてある、もう一つのサーバ上のCGIはMacでアクセスしようがWinでアクセスしようが正常に作動するのです。
しかも、異常がある方のCGIと同じディレクトリにアップしてある、他のCGIは全て正常に作動するのです。
パーミッションの設定も、CGIは755、ログは666と、間違っていないことを確認してあります。
perlへのパスも、Macでなら動くことでもおわかりのように、間違っていません。
尚、このCGIはDOS-Vの改行コードで記述してあります。
どなたかこの異常の原因がおわかりの方はいらっしゃいませんでしょうか?
どうか解決のためのアドバイスをお願いいたします。
No.3ベストアンサー
- 回答日時:
CGIスクリプトそのものではなく,その出力がダウンロードされてくるんですよね。
だとすると,一番怪しいのはMIMEタイプ設定なのですが…(MIMEタイプについては,参考URLをご覧ください)。ダウンロードされるファイルがなんというMIMEタイプとして認識されているか,判らないでしょうか?
Mozilla(おそらく Netscape 6.1 も)などであれば,ダウンロードダイアログに「~ xxxx/yyyy タイプのファイルをダウンロード後~」というように,ダウンロードしようとしているファイルのMIMEタイプが出力されるのですが,IEではどうやればいいのか私は知らないので…。
そのMIMEタイプがわかれば,なぜダウンロードされてしまうのかという原因究明の手がかりになると思うので,できれば調べてみてください。
または,そのCGIスクリプトのなかで,"Content-type: xxxx/yyyy" という文字列を出力しているところがあれば,それがそのMIMEタイプなのですが…。そこによけいな文字(見えない文字~例えば全角空白など~という可能性もあります)が入ってないか,あるいは設定されていないということがないか,調べてみてください。
Macでちゃんと動くのは,ブラウザー側でそのMIMEタイプをどう扱うかがきちんと設定されている,あるいは(こちらの方が可能性は高いのですが)MIMEタイプ判別をルーズに行っている(例えばMIMEタイプの判らないテキストファイルは text/html として扱う),などの理由からではないかと思います。
参考URL:http://home.tripod.co.jp/help/building/file_mime …
この回答への補足
コメントと参考URLをどうもありがとうございました。
そうなんですか。CGIの中にそういう記述部があるとは知りませんでした。
なるほど!ネスケだとタイプを教えてくれますね。
ダウンロードしようとしているファイルタイプは、application/x-httpd-cgiであると言って来ています。
あれ?CGIの中には「text/html」と記述されているんですが…?
詳しくは、
.
.
.
#
# HTML文書定型部表示ルーチン
#
sub header {
print <<"HTML";
Conyent-type: text/html
<HTML>
<HEAD>
<TITLE>Control room</TITLE>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
</HEAD>
<BODY bgcolor="#f1f1f1" text="#000000" link="#0000E3" vlink="#008080">
.
.
.
と続きます。
いかがでしょうか?
ところで、NetscapeならMIMEタイプが判ると教えて頂いたおかげで、もう一つ発見がありました。
正常と思われていた方のCGIも、Netscapeでアクセスすると出力結果のHTMLソース自体がブラウザに表示されてしまい、やはりパスワード認証は出来ないことが判りました。
これは、やはりCGIの構造の問題でしょうか?
作者の方がアップしていらっしゃるサンプルのページは、MacでもWinでも、IEでもNCでも正常に動いてしまうんで、私の詳細設定法が悪いのかと思い、作者の方がアップされた圧縮ファイルを解凍したそのままのものを私のサーバにアップしてみた(偶然、perlのパスは書き替える必要がなかったので)のですが、それでもやはりダウンロードが始まってしまったりソースが表示されてしまう現象は変わりませんでした。
私の方に問題があるのかと思ってこちらで質問させていただいたのですが、もしかしてこれはCGIの作者の方に質問すべき内容なのでしょうか?
う~ん、面倒な問題にお付き合いいただいて申し訳ありません。この結果に対する更なるご意見を伺えればありがたいのですが…
どうもお騒がせいたしました。
atonさんが"Content-type: xxxx/yyyy"という部分を指摘して下さったおかげで、CGIを作った方のタイプミスだということが判明し、解決に至りました。
これから作者の方にも連絡しようと思います。
どうもお世話になりました!
No.4
- 回答日時:
見た瞬間、ちょっと笑ってしまいました。
もし下の補足が、コピペだとしたら、コレが原因だったのでしょう。
>print <<"HTML";
>Conyent-type: text/html
Conyent-type:・・・・・
間違い探しですネ。もしコレが原因じゃないとすれば、もはや私には分かりません。。。。
お答え頂きましてどうもありがとうございました!
ホ、ホントだー、大正解です!!
そうなんです。コピペで入れたものです。
これを直したら全て問題がなくなりました。
どうもお世話になりました!
No.2
- 回答日時:
違うと思うのですが、万が一と言う事がありますので、載せておきます。
そのDLするか聞いてくる方のサーバーでは、もしかしたら「.httacces」という拡張子ごとの設定を行うファイル
が必要なのかもしれません。
だいぶ前の話ですが、私はそれを置いた記憶があります。
最近はめっきり見ませんが。。。
それだと何故MacではDLするか聞いてこないかという事になりますが、どうでしょう。。。
まぁ、万が一の可能性って事で、サーバー管理者に聞くなり、ちょっと調べて見てください(^^;
あまりお役にたてなくて申し訳ないです。
アドバイスをどうもありがとうございます。
.htacsessですか。どういうファイルかは今日まで知りませんでしたが、名前は聞いたことはありました。
その名前をキーワードにサーチエンジンで検索したところ、記述の方法が載っていたので実際にやってみたんですが、そのファイル、問題のサーバにアップすると、数10秒後に自動的に削除されてしまうみたいで、
「あれ~?やっぱりダメだなぁ」と再度確認のためにftpソフトでアクセスしてみたら無くなってしまっていました。妙な構造のサーバなのか何なのか…
そうですね、最終的にはサーバーの管理の方に聞くしかないのかもしれませんね。
>あまりお役にたてなくて申し訳ないです。
とんでもないです。何もお答えが頂けないと、ますます頭を抱えることになりますから、何かしらお心当たりをお聞かせ頂けるのはとても嬉しいです。
どうもありがとうございました!
No.1
- 回答日時:
CGIはperlですか?
もしそうでしたら、記述先頭行を確認してください。
(#!/usr/bin/perl とか)
この記述が、サーバ側のperl実行パスとあっていない事はありませんか?
早々のお答えをどうもありがとうございます。
問題のCGIがアップしてある「cgi-bin」ディレクトリには5つのCGIがアップしてあるのですが、どのCGIも全てサーバー設定マニュアル通り、#!/usr/local/bin/perl5と記述してあります。
万一の打ち間違い見逃しを考え、他のCGIからコピー&ペーストして再アップもしてみたのですが、状況は変わらないんです。
また、これらのCGIは全てperl5用なので、perlのバージョン違いということも考えられません。
何せ、Macでアクセスすれば動くわけですし…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ちょっと先の未来クイズ第2問
9月9日(月)に発表される「第3回子どもマネー川柳」に入賞する川柳を考えてこちらに投稿してください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
safariでcgiが表示されず cgiファイルがダウンロードされてしまうそうです
CGI
-
CGIが実行されずにダウンロードのアラーとが出てしまう
CGI
-
CGIでソースがそのままでてしまうのですが・・・。
CGI
-
-
4
リンクをクリックするとダウンロードになってしまう。
InternetExplorer(IE)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のCGIだけ、作動するかわり...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
実行可能な外部コマンドは?
-
CGIが動作しません。
-
VBAでサーバーにアクセスするに...
-
CGIでソースがそのままでてしま...
-
ユーザの所属するグループを取...
-
JAVAで別サーバーのファイルの...
-
safariでcgiが表示されず cgi...
-
postmailのテンプレートページ...
-
画像アップ時のエラー
-
CGIエラー、どうしたらいいか・...
-
ネットワーク上の共有フォルダ...
-
パーミッションの変更ができない
-
VBScriptで、ファイルから任意...
-
「からし」と「マスタード」の...
-
ASPから既存のexcelブックを開...
-
今見ているサイトが何キロバイ...
-
PHPのパーミッションの設定につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のCGIだけ、作動するかわり...
-
ファイルダウンロード後に、デ...
-
「メニューハンドルが無効です...
-
cgiでファイルダウンロード時の...
-
CGI経由PDFダウンロードでエラー
-
cgiで可能でしょうか…
-
ダウンロード後 zipファイル削除
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
VBScriptで、ファイルから任意...
-
ApacheでのCGIについての質問
-
VBAでサーバーにアクセスするに...
-
ラジオボタンのグループ化
-
ASP(IIS?)のエラーについて
-
ASPから既存のexcelブックを開...
-
CGIでソースがそのままでてしま...
-
MT/カスタムフィールドでのPDF...
-
CGIでjcode.plを読み込めなくな...
-
.htaccessを2つ以上設置した場合
-
Perlプログラム上でアラートを表示
おすすめ情報