1

私はApacheを使用しており、からjQueryを使用してajaxリクエストを送信しindex.htmlます。はget_data.pl上のファイルですcgi-bin。私は得403 Forbidden errorた。誰でも私を助けてくれます。事前に感謝します。

$.ajax({
    async : true,
    type: "GET",
    url: "get_data.pl"      
}).done(function(msg){
    alert("Data Saved: " + msg);
}).fail(function(xmlHttpRequest,statusText,errorThrown) {   
    console.log(JSON.stringify(xmlHttpRequest));
    console.log(statusText);
    console.log(errorThrown);       
});

コンソールから得たもの:

{"readyState":4,"responseText":"<!DOCTYPE ...<title>403 Forbidden</title>...
<p>You don't have permission to access /get_data.pl\non this server.</p>\n</body>
</html>\n","status":403,"statusText":"Forbidden"} 

Windows 7 です。管理者アカウントを使用して Chrome で実行しています。

しばらくして、私はまだ問題の解決策を見つけられませんでした。私の問題を再現するために、専門家に詳細を提供する必要があると思います。httpd.conf については、元の場所に基づいて場所を変更しました: 193 行目:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

次の 2 行を削除します。

Order allow,deny
Allow from all

343 行目:

<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cgi-bin">
      AllowOverride None
      Options None
      Order allow,deny
      Allow from all
</Directory>

このセクションを次のように変更しました。

<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cgi-bin">
AllowOverride None
    Options  +ExecCGI
    AddHandler cgi-script .cgi .pl
    Allow from all
</Directory>

.pl ファイルを cgi-bin フォルダーに配置し、index.html を htdocs フォルダーに配置しました。Windows7、Win2k3 64bit、WIN2k3 32bit を試してみました。すべてに禁止エラーがあります。Apache のデフォルトの printenv.pl も使用しました。

4

1 に答える 1