403 Запрещено на клиентском сервере - PullRequest
0 голосов
/ 06 декабря 2011

В моем приложении при отправке почты отображается сообщение об ошибке. Это мой код ajax

$.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.

1 Ответ

3 голосов
/ 06 декабря 2011

Если у вас нет файла .htaccess, в котором указаны правила перезаписи, ваш сервер Linux будет интерпретировать его как путь. Поэтому вместо поиска

файл process.php в папке ... / houndzabout и передача ему "fvgh" и "111-111-11111111"

Сервер ищет

файл 111-111-11111111 в папке ... / hound / process.php / fvgh и ничего не передавая

(обратите внимание, что имена папок с точками действительны)

Это происходит потому, что вы разделяете имя файла (houndzabout / process.php) и аргументы косой чертой.

Традиционно параметры «GET» передаются после знака вопроса (?) И разделяются амперсандами (&).

В этом случае ваша строка URL в вашем javascript должна выглядеть примерно так:

url: "http://www.ryuneo-clients.co.uk/houndzabout/process.php?"+x+"&"+y
...