2

まず、私は IIS に精通していますが、実際の経験はあまりないため、ここに来ました。

IIS7 をセットアップし、HTML Web サイト、スクリプトなどを wwwroot フォルダーに配置しました。テスト目的のためだけに、Web サイトをローカルで閲覧できます。

Matt のスクリプト アーカイブ FormMail.pl を使用する簡単な電子メール フォームを含む Web ページがあります。送信時に、次のエラーが発生します。

 405 - HTTP verb used to access this page is not allowed.
 The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.

このエラーについて、またはメール フォームが機能するように解決する方法がわかりません。

この問題に関して追加情報が必要な場合は、可能な限り多くの情報を提供します。

ありがとう :)

アップデート:

わかりましたので、nms スクリプトを使用するように HTML を変更しました。IIS では、CGI と ISAPI がインストールされていないため、これらを有効にする必要がありました。それらがインストールされたら、*.pl、*cgi; のスクリプト ハンドラー マッピングを追加しました。また、動詞 GET、HEAD、および POST を両方のハンドラー マッピングに追加しました。私は使用した:

 <!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
 <head>
 <title>Perl Test</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 </head>
 <body>
 <h1>Perl is working!</h1>
 </body>
 </html>

*.pl と *.cgi がローカルホストで動作しているかどうかをテストします。

今、私が立ち往生している部分が来ます...

送信ボタンをクリックすると、formmail.cgi (何らかの理由で formmail.pl が機能しません) に移動しますが、cgi スクリプトと空白の白いページに移動するだけです。

4

2 に答える 2

1

405 は、Web サーバーがリクエスト内の HTTP メソッド (GET、POST、HEAD など) を認識していないことを意味します。あなたの場合、デフォルトでは .pl 拡張子が POST リクエストの処理を許可されていないと思います。ハンドラー マッピングの作成については、このリンク(ここから取得) を参照してください。

于 2012-10-24T11:30:14.833 に答える
0

このエラーを確認する最も重要な点は、コンソール ウィンドウ内の HTML タブです。または、ブラウザにエラーが表示されている場合は、そこを見てください。いずれの場合も、「要求された URL」のファイル タイプを確認します。

*.json ファイルの場合は、次の手順に従います。他の形式の場合は、ハンドラー マッピングで使用される exe ファイルを調整する必要がある場合があります。サーバーレベルでそれぞれを設定してください!!! Mime タイプまたはハンドラー マッピングをクリックする前にサイトをクリックしないでください。代わりに (ツリー/オブジェクト エクスプローラーで) サーバー名をクリックして、各サイトが設定を継承するようにします。web.config は、サイトでも設定した場合はハンドラー マッピングを明示的に適用されますが、サーバー レベルで追加した場合はそうではありません。

http://www.uipress.com/add-json-handler-support-in-iis-7/#.UT_bw9aOR8E

CGI を扱っているため、スクリプト マップの実行可能ファイルはわずかに異なります。それは少なくともあなたを正しい軌道に乗せるはずです。

于 2013-03-13T02:08:11.110 に答える