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
~ravbholua
Webサーバーは通常ユーザーのホームディレクトリに変換せず(これを行うには特別な構成が必要です)、これを行う方法を試さないことをお勧めします。これは、ホームディレクトリの内容全体がサーバーを介して表示されるためです。主なセキュリティリスク。
public_html
ホームディレクトリの下にディレクトリを作成し、そこにファイルを配置します。ただし、Webサーバーは実際にCGIスクリプトの場所を書き換えたり、セキュリティ上の理由から特定の場所のファイルをCGIスクリプトとして処理することを拒否することができます。これは Web サーバーの構成によって異なります。また、実際のマッピングでは、おそらくそのユーザーディレクトリ~ravbholua
に移動しません。$HOME/public_html
Webサーバーのログファイル(またはなどの/var/log
名前を付けることができます)を確認すると、この問題の根本原因を追跡するのに役立つエラーまたは情報を取得できます。それでも機能しない場合は、トラッキングWebサーバーを使用すると役に立ちます。もちろん難しいかもしれません。 Webサーバーからアクセスするすべてのファイルのパスを表示できます。http.log
apache.log
strace
strace