0

私のアプリケーションでは、メールを送信すると forbodden エラーメッセージが表示されます This is my ajax code

$.ajax({  
                    type: "POST",  
                    url: "http://www.ryuneo-clients.co.uk/houndzabout/process.php/"+x+"/"+y,
                    success: function(msg){
                    if(msg == 0)
                    {
                        alert("Your Request Is Send!");
                    }else{
                        alert("Your Request Is Failed!");
                    }
                    $("#txtname").val("Your Name");
                    $("#txtphone").val("Your Phone Number");
                    }
                });

これは process.php ページです

<?php
    $uri = $_SERVER['REQUEST_URI'];
    $pieces = explode("/", $uri);
    $name = $pieces[3];
    $phone = $pieces[4];

    $nam11 =  urldecode($name);

    /*$to = "mariyadavis90@gmail.com";*/
    $to = "wirralpetnanny@live.co.uk";
    $subject = "New Request Come !";
    $message = '<div style="background-color: #EEEEEE;border-bottom: 1px solid #DCDCDC;padding: 10px 0 20px;width: 400px;"> 
<div style="width:400px;">

<div style="width:400px;background-color:#eeeeee;padding: 10px 0 20px;border-bottom:1px solid #dcdcdc;">
<div style="width:300px; text-align:center;color:#666666;margin-left:20px;font-size:12px;font-weight:bold;">
Now you got a new request from :
</div>
</div> <!--end of div_form_main-->
<div style="width:400px;background-color:#eeeeee;padding: 10px 0 20px;border-bottom:1px solid #dcdcdc;">
<div style="float:left;width:150px;color:#666666;margin-left:20px;font-size:12px;font-weight:bold;"> Name:</div>
<div style="float:left;width:auto;color:#000000;font-size:12px;font-weight:bold;">'.$nam11.'</div>
</div> <!--end of div_form_main-->
<!--end of div_form_main-->
<div style="width:400px;background-color:#eeeeee;padding: 10px 0 20px;border-bottom:1px solid #dcdcdc;">
<div style="float:left;width:150px;color:#666666;margin-left:20px;font-size:12px;font-weight:bold;"> Phone Number:</div>
<div style="float:left;width:auto;color:#000000;font-size:12px;font-weight:bold;">'.$phone.'</div></div> <!--end of div_form_main-->
</div> <!--end of div_password_main-->';
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    $headers .="Content-Transfer-Encoding: 8bit";
    if(!mail($to, $subject, $message, $headers))
    {
        echo 1;
    }
    else
    {
        echo 0;
    }
    //die();
?>

私がメールを送るとき

"NetworkError: 403 Forbidden - http://www.ryuneo-clients.co.uk/houndzabout/process.php/fvgh/111-111-11111111"

firebugに表示されます。新しいウィンドウでURLを取得すると、このメッセージが表示されます

Forbidden

You don't have permission to access /houndzabout/process.php/fvgh/111-111-11111111 on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
4

1 に答える 1

3

書き換えルールを指定する .htaccess ファイルがない限り、Linux サーバーはそれをパスとして解釈します。だから探す代わりに

フォルダー .../houndzabout 内のファイル process.php に「fvgh」と「111-111-11111111」を渡します

サーバーが探している

ファイル 111-111-11111111 フォルダー .../hound/process.php/fvgh にあり、何も渡さない

(ピリオド付きのフォルダ名が有効であることに注意してください)

これは、ファイル名 (houndzabout/process.php) と引数をスラッシュで区切っているためです。

従来、「GET」パラメータは、疑問符 (?) に続いてアンパサンド (&) で区切って渡されます。

その場合、JavaScript の URL 行は次のようになります。

url: "http://www.ryuneo-clients.co.uk/houndzabout/process.php?"+x+"&"+y
于 2011-12-06T03:49:09.830 に答える