WebページにCGIプログラムファイルが見つかりません。

WebページにCGIプログラムファイルが見つかりません。

HTMLファイルを介してCGIプログラムを呼び出そうとします。しかし、「ファイルが見つかりません」というエラーが発生しました。

次のサイトと同じプログラムを使用しています。

http://highered.mcgraw-hill.com/sites/dl/free/0070635463/372169/CGI_with_PERL.pdf

以下のhtmlファイルを見つけてください。

<html> <head>
<title>The Employee Database</title>
Appears on title bar
</head>
<body>
<h1> Employee Form </h1>
Appears in a large bold font
<hr>
Adds a horizontal rule
<form action=”http://localhost/~ravbholua/emp_add.pl” method=get>
Emp-id: <input type=”text” name=”empid” size=4> <br>
Name: <input type=”text” name=”ename” size=30> <br>
Designation: <input type=”text” name=”desig” size=15> <br>
Department: <input type=”text” name=”dept” size=15> <br>
Dateoffuse: <input type=”text” name=”dtbirth” size=10> <br>
noSalary: <input type=”text” name=”salary” size=10> <br> <br>
<center>
<input type=submit value=”Add”>
The Add button is centered
</center>
</form>
</body>
</html>

私のシステムで動作させるために(上記のリンクで述べたよりも)CGIプログラムファイルのパスを変更しました。現在のパスは次のとおりです。http://localhost/~ravbholua/emp_add.pl

「追加」ボタンをクリックすると、「ファイルが見つかりません」というエラーが発生します。添付ファイルを参照してください。

ここに画像の説明を入力してください。

フォーム(添付)を参照してください。

ここに画像の説明を入力してください。

ユーザー名 "ravbholua"のホームディレクトリにファイルが見つからないのはなぜですか?これら2つのアクセサリーは問題を解決するのに役立ちます。

以下のリンクにも同じ質問がありますが、まだ解決していません。詳しく見てください。http://www.linuxquestions.org/questions/linux-server-73/web-page-not-able-to-find-cgi-program-file-4175476182/

ベストアンサー1

~ravbholuaWebサーバーは通常ユーザーのホームディレクトリに変換せず(これを行うには特別な構成が必要です)、これを行う方法を試さないことをお勧めします。これは、ホームディレクトリの内容全体がサーバーを介して表示されるためです。主なセキュリティリスク。

public_htmlホームディレクトリの下にディレクトリを作成し、そこにファイルを配置します。ただし、Webサーバーは実際にCGIスクリプトの場所を書き換えたり、セキュリティ上の理由から特定の場所のファイルをCGIスクリプトとして処理することを拒否することができます。これは Web サーバーの構成によって異なります。また、実際のマッピングでは、おそらくそのユーザーディレクトリ~ravbholuaに移動しません。$HOME/public_html

Webサーバーのログファイル(またはなどの/var/log名前を付けることができます)を確認すると、この問題の根本原因を追跡するのに役立つエラーまたは情報を取得できます。それでも機能しない場合は、トラッキングWebサーバーを使用すると役に立ちます。もちろん難しいかもしれません。 Webサーバーからアクセスするすべてのファイルのパスを表示できます。http.logapache.logstracestrace

おすすめ記事