cgiを実行したところ501エラーが出たのですが、
どうすれば実行できるようになりますか?
バーチャルサーバーを使ってます。
誰か、助けてください。

A 回答 (1件)

httpコード501は


"コンテンツの呼び出し手法自体に誤りはないが、ページやサーバ自体が
その呼び出しでのコンテンツ提供に対応していない。"
ということなので、呼び出すコンテンツが対応しているか、呼び出し方法に
間違いは無いか調べてみてはいかがでしょう?
    • good
    • 0
この回答へのお礼

ありがとう御座いました。
解決しました。
ただ単に
my CGI_URI = $GetCGI_URL
が動作していませんでした。
my CGI_URI ="http://hogehoge.com/hoge.cgi"
で動作しました。

お礼日時:2001/09/15 10:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q404ERROR の 意味の統一はいつからですか?

こんばんは~! ネットワークのカテゴリーのエキスパートな方々!回答宜しく~^^

質問はタイトルの通りなのですが、『404 ERROR』はいつ頃から共通に利用されてるのですか?
仮に最初に統一した人がいるのなら、使用許諾や使用に当っての利点若しくは、お金が来てるの?

Aベストアンサー

HTTPエラーコード404。
Not Found:要求されたURIに対するマッチする情報が見つからない(RFC1945)
通信規約上の約束です。

RFC(Request For Comment:ご意見お待ちしてます)はインターネット標準案と標準規約を記述したメモで、誰でも参照して利用することが出来ます。

いつから?と問われればRFC1945に制定されたメモが発表された1996年からです。

QAN HTTPDのバーチャルホストでCGIを実行

AN HTTPDのバーチャルホストでCGIを実行する方法を教えて下さい。

htmlの設置場所 ← (1)http://html.com/■■■■■■ が参照URLアドレス

cgiの設置場所 ← (2)http://cgi.com/■■■■■■ が参照URLアドレス

htmlからcgiを実行する構成ですがテスト環境を構築するにはどのようにすれば宜しいでしょうか?

バーチャルホストの設定とC:\WINDOWS\system32\drivers\etc\hostsファイルにプライベートIPアドレスとドメインの関連付けは完了しております。

htmlの設置場所のhtmlはきちんと表示されます。
また、cgiの設置場所に試しにhtmlを設置してみてもきちんと表示されます。

htmlからcgiの呼ぶパスが間違っているのでしょうか?

<form action="http://cgi.com/test.cgi" method="post">

どうぞ宜しくお願い致します。

Aベストアンサー

昔、nifty @homepage 用に html表示用サーバー と cgi実行用サーバーを分けてAN-HTTPDに構築して動作実験する方法を @homepage に公開していたが、そのページはすでに削除したので、とりあえず以下をチェックしてください。

バーチャルホストにはアクセスできてるようなので、.cgi でどのプログラミング言語を起動しようとしてますか?たぶんperlだと思うけど、そうでないときは、以下のperlのところを読み替えてください。
1.AN-HTTPD の設定を開いて「一般」タブ内「.pl, .cgi の実行」の右の欄に、インストールしたperlへの フルパス名(ドライブレターから、拡張子の手前まで)を入れましたか?
2.「#! の行を調べる」のチェックは外しましたか?
このチェックがついたままだと、.cgi ファイルの一行目に、インストールしたperlへの フルパス名(ドライブレターから、拡張子の手前まで)を入れないとなりません。
3.また「CGI出力を検査」にはチェックを入れておくと、実行時エラー内容がブラウザにも出力されます。公開用では、ブラウザにエラー内容まで表示するのはまずいですけど、localhost練習用なら、この方がデバッグは速いです。
4.ブラウザのurl欄にcgiのurlを直接入れて、どんなエラー表示が出るかをまずはチェックしてください。cgiプログラムそのもののデバッグはそれからです。

昔、nifty @homepage 用に html表示用サーバー と cgi実行用サーバーを分けてAN-HTTPDに構築して動作実験する方法を @homepage に公開していたが、そのページはすでに削除したので、とりあえず以下をチェックしてください。

バーチャルホストにはアクセスできてるようなので、.cgi でどのプログラミング言語を起動しようとしてますか?たぶんperlだと思うけど、そうでないときは、以下のperlのところを読み替えてください。
1.AN-HTTPD の設定を開いて「一般」タブ内「.pl, .cgi の実行」の右の欄に、インスト...続きを読む

Q404 Error Not Found と出てしまします

初めてホームページを作ろうとしている者なので、専門用語ではなく、わかりやすく教えて下さいませm(__)m
「HETEMULU」を使って、ホームページを作り、半年かけて、やっと完成しました^^;
そして、無料だと聞いたので、「忍者ホームページ」サイトで、
「NINJA TOOLS」?という所で、IDやパスワードを取得し、なんとか出来たと思ったのですが、

登録されているあなたのURL

とい所をクリックすると、

404 Error Not Found と出てしまします。

何故ですか??

色々触ってみたけど、わかりません^^;

もう一つ質問ですが、無料素材屋さんから、画像をダウンロードして、
「名前をつけて保存」と書いてあったので、例えば「鉢植え」と保存しました。「HETEMULU」で画像の挿入をクリックすると、「鉢植え」の後ろに.gifと付き、問題ないように思っているのですが、日本語で保存しているから、404 Error Not Found と出てしまうのでしょうか?それともそれはまったく関係ないのでしょうか?
慣れていらっしゃる方にはおバカな質問かもしれませんが、どうかどなたか教えて下さい!説明が足りなければ補足しますので、どうかよろしくお願いします!!!

初めてホームページを作ろうとしている者なので、専門用語ではなく、わかりやすく教えて下さいませm(__)m
「HETEMULU」を使って、ホームページを作り、半年かけて、やっと完成しました^^;
そして、無料だと聞いたので、「忍者ホームページ」サイトで、
「NINJA TOOLS」?という所で、IDやパスワードを取得し、なんとか出来たと思ったのですが、

登録されているあなたのURL

とい所をクリックすると、

404 Error Not Found と出てしまします。

何故ですか??

色々触ってみたけど、わか...続きを読む

Aベストアンサー

作成したHTMLファイルをサーバーにアップロード(転送)済みで
しょうか?
トップページは必ず「index.html」または「index.htm」である
必要があります。
「index.htm」にする場合は、元からある「index.html」を削除
(※下記ページ参照)
http://www.ninja.co.jp/faq/a/37/

おすすめのFTPソフト
「FFFTP」
http://www2.biglobe.ne.jp/~sota/

日本語ファイルは表示されない場合もあるので、英数字のファイル名
が推奨されています。
http://www.ninja.co.jp/faq/a/79/

Q別サーバーのcgiを実行させる

あるサーバーで動作しているcgiスクリプトから、別のサーバーに置いてあるcgiスクリプトを実行させる方法はあるでしょうか?

require 'http://…/…/test.cgi';

としても実行することは出来ませんでした。
googleで検索したところrequireではURL指定ができないと解説しているサイトがありましたので、requireを使わずに、(CGI.pm等の標準モジュール(?))なども使わないで他のサーバーに設置したcgiを動作させる方法があれば、教えていただきたいです。

Aベストアンサー

ちょっと面倒ですが、ソケットで外部のホストのポート
80番に繋いで、httpプロトコルでCGIのURLをリクエスト
すればよいと思います。
 そしてソケットから結果を読み出して、ヘッダを削除
すれば出力だけを得ることも可能です。

自分で作ってもいいし、CPANのHTTP::Requestを使っても
いいでしょう。

Q教えて下さい!なぜ【WebApp: Error 404】のページが出る?

JDK + apache + mod_webapp.so + tomcat + PostgreSQLをインストール・設定しました。

JDK     j2sdk-1_3_1_11-linux-i586
apache    apache1.3.31
mod_webapp.so
tomcat    jakarta-tomcat-4.1.30
PostgreSQL    postgresql-7.2.3

(1)
http://localhost:8080/index.jsp
【tomcat】のページが出ます。

(2)
http://localhost/
【あなたの予想に反して、このページが見えているでしょうか?】のページが出ます。

(3)
http://localhost:8080/examples/jsp/index.html
【JSP Samples】のページが出ます。

(4 問題点)
http://localhost/examples/jsp/index.html
【WebApp: Error 404】のページが出ます。
希望 → (3)と同じページが出る。

起動は tomcat → apache の順です。

なぜ【WebApp: Error 404】のページが出るのでしょうか?
教えて下さい。
お願いします。
(初心者なので出来ればわかりやすくお願いします)

JDK + apache + mod_webapp.so + tomcat + PostgreSQLをインストール・設定しました。

JDK     j2sdk-1_3_1_11-linux-i586
apache    apache1.3.31
mod_webapp.so
tomcat    jakarta-tomcat-4.1.30
PostgreSQL    postgresql-7.2.3

(1)
http://localhost:8080/index.jsp
【tomcat】のページが出ます。

(2)
http://localhost/
【あなたの予想に反して、このページが見えているでしょうか?】のページが出ます。

(3)
http://localhost:...続きを読む

Aベストアンサー

設定内容が書いていないので
いかんともあれなんですが。。。(^^;
以下の手順をご確認下さい。

1.mod_webapp.soをapacheのlibexecに配置している。

2.apacheのhttpd.confに以下を記述している。
------------------------------------------------------
LoadModule webapp_module libexec/mod_webapp.so
AddModule mod_webapp.c

<IfModule mod_webapp.c>
WebAppConnection warpConnection warp localhost:8008
WebAppDeploy examples warpConnection /examples
WebAppInfo info
</IfModule>
------------------------------------------------------

3.tomcatのserver.xmlに以下を記述している。
------------------------------------------------------
<Service name="Tomcat-Apache">

<Connector className="org.apache.catalina.connector.warp.WarpConnector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true" appBase="webapps"
acceptCount="10" debug="0"/>

<Engine className="org.apache.catalina.connector.warp.WarpEngine"
name="Apache" debug="0">

<Logger className="org.apache.catalina.logger.FileLogger"
prefix="apache_log." suffix=".txt"
timestamp="true"/>

<Realm className="org.apache.catalina.realm.MemoryRealm" />

</Engine>

</Service>
------------------------------------------------------

4.tomcat、apacheの順で再起動

どう?

設定内容が書いていないので
いかんともあれなんですが。。。(^^;
以下の手順をご確認下さい。

1.mod_webapp.soをapacheのlibexecに配置している。

2.apacheのhttpd.confに以下を記述している。
------------------------------------------------------
LoadModule webapp_module libexec/mod_webapp.so
AddModule mod_webapp.c

<IfModule mod_webapp.c>
WebAppConnection warpConnection warp localhost:8008
WebAppDeploy examples warpConnection /examples
WebAppInfo info
</IfModule...続きを読む

QサーバーでCGIを実行すると500Errorが発生します

CGI初心者です。
マニュアル類、過去の質問に目を通しましたがそれでも解決
しない問題に直面した為、質問させて頂きます。

CGIをサーバー(ロリポップ)にアップロードさせて
実行したところ、500Errorが発生します。

■CGIの内容
検索フォームに入力されたキーワードをキーにして
Amazonのデータを取得し、HTMLに表示させるというものです。
自作のCGIです。

■ファイル構成
index.html (属性:604)
ItemSearcher.cgi(属性:700)
AMAZON_REST.pm (属性:700)

CGIの一行目は下記のとおりで、ロリポップ指定の記述法に従っております。
#!/usr/bin/perl

・CGIはローカルの環境では問題なく動作します。
・転送モードはASCIIでアップロードしました。

プログラムがバグっているわけでもなく、
環境設定もロリポップの指示のとおりに行いましたが
動作できなくて途方にくれております。

他にもチェックすべき箇所がございましたら
ご指摘をよろしくお願いいたします。

CGI初心者です。
マニュアル類、過去の質問に目を通しましたがそれでも解決
しない問題に直面した為、質問させて頂きます。

CGIをサーバー(ロリポップ)にアップロードさせて
実行したところ、500Errorが発生します。

■CGIの内容
検索フォームに入力されたキーワードをキーにして
Amazonのデータを取得し、HTMLに表示させるというものです。
自作のCGIです。

■ファイル構成
index.html (属性:604)
ItemSearcher.cgi(属性:700)
AMAZON_REST.pm (属性:700)

CGIの一行目は下記のとおりで、...続きを読む

Aベストアンサー

AMAZON_REST.pm以外にrequire(もしくはinclude)しているモジュールはありませんか?CGI本体だけでなくAMAZON_REST.pmが要求しているモジュールにも注意してください。

(蛇足)
モジュールのパーミッションは600でいいと思います(700でも動きますけど)。

QError!! HTTP status code=404

Error!! HTTP status code=404

いつもお知恵拝借、ありがとうございますm(_ _)m

さて、最近当社で中古XP (prof.)パソコンを2台導入しました。sp3にupしております。

取引先のサイトにアクセスし、IDとpasswordでログインして「取引明細」をダウンロードしようとしましたが、ファイルのアイコンをクリックしたら上記のようなエラーメッセージが出ます。

2台とも同じエラーが出ます。

「教えてgoo」や他のサイトで検索してもなかなか、コレというページが見あたりません。

以前からあるもう一台のXPからはアクセスでき、見ること・プリントすることが出来ます。

アクセスしようとしたファイルは拡張子が".ilf"で、検索の結果どうやら電子帳票のファイルのようです。

このようなトラブルは初体験なので、皆さんのお知恵を是非拝借したいと思います。どうかよろしくお願いいたしますm(_ _)m

Aベストアンサー

ILFのことについてはわかりませんが、単純にHTTP のエラーコード404は、
Not Foundですね。

要するに、指定のページやファイルが見当たらないということ。

先方のシステム内で、指定されたファイルがないということではないですか?
それを先方のWEBサーバーと連携したILFのシステムが応えていると・・・

先方の担当者に聞いた方がいいと思いますが。
特定のシステム内のことですので、担当者以外は本当のことはわかりません。

Q「CGIの実行時にエラーが発生しました」と出ます

http://www.webpower.jp/様のユーザー・マネージャーを@niftyで設置しようと思いましたが質問タイトルのエラーが出ます。
他のサーバーを借りて試しましたが問題なく動作しました。

変更するのは下記の所だと思いますがどれをどう書き込めば良いのか助言をお願いします。成功しましたら20ポイント進呈致します。


# ◎ ライブラリ(stdio.pl)の[パス]
$SYS{'STDIOPL'} = 'stdio.pl';

# ◎ ライブラリ(jcode.pl)の[パス]
$SYS{'JCODEPL'} = 'jcode.pl';

# ◎ データディレクトリの[パス]
# * ユーザーファイルはこのディレクトリに生成されます。
# * このディレクトリのパーミッションは777(書き込み属性)にしてください。
$SYS{'DATA_DIR'} = 'data/';

#---<特殊な設定>----------------------------------------------------------------
#
# 通常は自動的にセットされるため設定不要です。ただし、CGI-WRAP等を採用してい
# るサーバー(interQ等)は、設定する必要があります。
# * 設定した場合は、$の前のシャープ"#"を取り除く

# ◎ サーバー名 (通常は設定不要)
# * "www.hostname.jp"と"hostname.jp"のようにアクセスできるホスト名が複数ある
# 場合、標準として使うホスト名を指定します。(http://や"/"は付けない)
#$ENV{'SERVER_NAME'} = 'www.hostname.jp';

# ◎ このCGIの仮想パス (通常は設定不要)
# * ホスト名の"/"以降の部分が仮想パスです。
#$ENV{'SCRIPT_NAME'} = '/~foo/bar/filename.cgi';

# ◎ URLが不自然に長くなっていく場合はコメントを解除 (上の項目も設定する)
# * 詳細はマニュアルのFAQを参照してください。
#$ENV{'PATH_INFO'} =~ s/^$ENV{'SCRIPT_NAME'}//;

http://www.webpower.jp/様のユーザー・マネージャーを@niftyで設置しようと思いましたが質問タイトルのエラーが出ます。
他のサーバーを借りて試しましたが問題なく動作しました。

変更するのは下記の所だと思いますがどれをどう書き込めば良いのか助言をお願いします。成功しましたら20ポイント進呈致します。


# ◎ ライブラリ(stdio.pl)の[パス]
$SYS{'STDIOPL'} = 'stdio.pl';

# ◎ ライブラリ(jcode.pl)の[パス]
$SYS{'JCODEPL'} = 'jcode.pl';

# ◎ データディレクトリの[パス]
# * ユー...続きを読む

Aベストアンサー

@homepage では、サーバー内パスとURIとは異なる表記になるので、仮想パスのところを適切に指定しないと、2回目以降の呼び出しに不都合が生じます。

cgiを/cgi-bin直下に置いたとして、cgi呼び出しのURIが以下の時
http://hpcgi2.nifty.com/yoursite/filename.cgi

次の項目を以下のように
# ◎ サーバー名 (通常は設定不要)
# * "www.hostname.jp"と"hostname.jp"の ようにアクセスできるホスト名が複数あ る
# 場合、標準として使うホスト名を指定 します。(http://や"/"は付けない)
$ENV{'SERVER_NAME'} = 'hpcgi2.nifty.com';

# ◎ このCGIの仮想パス (通常は設定 不要)
# * ホスト名の"/"以降の部分が仮想 パスです。
$ENV{'SCRIPT_NAME'} = '/yoursite/filename.cgi';

QHTTP 404 error

Vine Linux,Tomcat5で
(1)webapps/conf/server.xml
...
<HOST>
<Context path="/apress" docBase="apress" debug="0" reloadable="true" />
...
(2)webbapps/apress/login.jsp
...
<table width="500" border="0" cellspacing="0" cellpadding="0">
<form name="loginForm" method="post" action="servlet/chapter2.login">
<tr><td width="402"><div align="right">User Name: </div></td>
<td width="399"><input type="text" name="username"></td>
</tr>
...
(3)webapps/apress/WEB-INF/web.xml
...
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>chapter2.login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
...
(4)webapps/apress/WEB-INF/classes/chapter2/login.java
package chapter2;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class login extends HttpServlet {
private String target = "/welcome.jsp";
private String getUser(String username, String password) {
// Just return a statice name
// If this was reality, we would perform a SQL lookup
return "Bob";
}
....
(4)現象:
http://xxx.xxx.xxx.xxxx:8080/apress/login.jsp
でsubmit action 後、次のエラーが出てきました:
HTTP 404 error,
The requested resource (/apress/servlet/chapter2.login) is not available.

この問題はどこにあるでしょうか教えてください。

Vine Linux,Tomcat5で
(1)webapps/conf/server.xml
...
<HOST>
<Context path="/apress" docBase="apress" debug="0" reloadable="true" />
...
(2)webbapps/apress/login.jsp
...
<table width="500" border="0" cellspacing="0" cellpadding="0">
<form name="loginForm" method="post" action="servlet/chapter2.login">
<tr><td width="402"><div align="right">User Name: </div></td>
<td width="399"><input type="text" name="username"></td>
</tr>
...
(3)webapps/apress/WEB-INF/web....続きを読む

Aベストアンサー

パスの指定が間違ってるからだと思いますが。

/apress/servlet/chapter2.login

このパスにちゃんと存在してますか?

QCGIで外部コマンドを実行したときのエラーメッセージを取得したい

PerlCGIで外部コマンドを実行して実行結果を取得する場合、パイプを利用して、

open(IN, "date |");
while (<IN>) {
print $_;
}
close(IN);

などとして結果の取得はできたのですが、
間違ったコマンドを指定した場合には、
エラーメッセージが取得できません。

たとえば、
$data
などという間違ったコマンドを入力したときに、
bash: data: command not found
という内容をCGIで取得したいのですが、

open(IN, "data |");
while (<IN>) {
print $_;
}
close(IN);

のような記述では取得できませんでした。

このようなエラー内容を取得する方法はありませんでしょうか?

どうかよろしくお願いします。

Aベストアンサー

open(PROC,"$cmd 2>&1 |");

のように、コマンドのあとに、 2>&1 を入れてみてください。
標準エラー出力を標準出力にリダイレクトします。


人気Q&Aランキング

おすすめ情報