nginx自動把我返回的405狀態代碼轉化成200了

來源:互聯網
上載者:User

首先我用了symfonyhttp-foundation這個組件。

ajax請求端:

$.ajax({     url:  jsui.www + 'comment/add',     data: $(this).serialize(),     type: $(this).attr('method'),     error: function(request) {            $('.comt-loading').slideUp(300);            $('.comt-error').slideDown(300).html(request.responseText);     },     success: function(data) {...}     ...

php響應端:

public function add(){        //header('HTTP/1.1 405 Method Not Allowed');        //echo 'Content';        //exit;  //這樣寫也返回200                $response = new Response(            'Content405!',            Response::HTTP_METHOD_NOT_ALLOWED,            array('content-type' => 'text/html')        );        //var_dump($response);die();        return $response; }

nginx配置:

http {    include       mime.types;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #                  '"$http_user_agent" "$http_x_forwarded_for"';    #access_log  logs/access.log  main;    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    #gzip  on;    server {        listen       8080;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            root   E:\Nginx\www;            index  index.html index.htm index.php;            if (!-e $request_filename) {                #一級目錄下                #rewrite ^/(.*)$ /index.php/$1 last;                #網域名稱下的二級目錄                rewrite ^/newblog/web/(.*)$ /newblog/web/index.php/$1 last;            }        }        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }        # proxy the PHP scripts to Apache listening on 127.0.0.1:80        #        #location ~ \.php$ {        #    proxy_pass   http://127.0.0.1;        #}        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        location ~ \.php {            root           E:\Nginx\www;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_split_path_info ^(.+\.php)(.*)$;        #增加這一句            fastcgi_param  PATH_INFO $fastcgi_path_info;    #增加這一句            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            include        fastcgi_params;        }

這是返回

回複內容:

首先我用了symfonyhttp-foundation這個組件。

ajax請求端:

$.ajax({     url:  jsui.www + 'comment/add',     data: $(this).serialize(),     type: $(this).attr('method'),     error: function(request) {            $('.comt-loading').slideUp(300);            $('.comt-error').slideDown(300).html(request.responseText);     },     success: function(data) {...}     ...

php響應端:

public function add(){        //header('HTTP/1.1 405 Method Not Allowed');        //echo 'Content';        //exit;  //這樣寫也返回200                $response = new Response(            'Content405!',            Response::HTTP_METHOD_NOT_ALLOWED,            array('content-type' => 'text/html')        );        //var_dump($response);die();        return $response; }

nginx配置:

http {    include       mime.types;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #                  '"$http_user_agent" "$http_x_forwarded_for"';    #access_log  logs/access.log  main;    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    #gzip  on;    server {        listen       8080;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            root   E:\Nginx\www;            index  index.html index.htm index.php;            if (!-e $request_filename) {                #一級目錄下                #rewrite ^/(.*)$ /index.php/$1 last;                #網域名稱下的二級目錄                rewrite ^/newblog/web/(.*)$ /newblog/web/index.php/$1 last;            }        }        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }        # proxy the PHP scripts to Apache listening on 127.0.0.1:80        #        #location ~ \.php$ {        #    proxy_pass   http://127.0.0.1;        #}        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        location ~ \.php {            root           E:\Nginx\www;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_split_path_info ^(.+\.php)(.*)$;        #增加這一句            fastcgi_param  PATH_INFO $fastcgi_path_info;    #增加這一句            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            include        fastcgi_params;        }

這是返回

這個應該和nginx沒關係吧

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.