国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Nginx中定義404頁面并且返回404狀態碼的正確方法

2024-08-30 12:26:55
字體:
來源:轉載
供稿:網友

前幾天,一朋友出程序出問題卻怎么查都沒看出問題,于是讓我幫它看看。其實它是ajax請求了很多個模板,然后把模板寫到頁面中。關鍵是所有請求的頁面都是200正常狀態碼返回,表面上看沒什么問題,實際上有些請求雖然返回200狀態碼,但給回的狀態碼是200。WebServer是nginx,直接告訴我應該他們配置了nginx的404錯誤頁面,雖然請求不存在的資源可以成功返回404頁面,但返回狀態碼確是200。

404.html

代碼如下:
This is 404 page.

請求一個不存在的頁面:

ajax Code:

$.ajax({    url: "does_not_exist.html",    success : function(Response, textStatus){        console.log(textStatus+":"+Response);    },    error : function(XMLHttpRequest, textStatus, errorThrown){        console.log([XMLHttpRequest, textStatus, errorThrown].join(","));    }});

執行結果:

進入Object看看詳細:

找不到請求的頁面并返回404頁面信息,但狀態碼依然是200,所以jQuery沒有走error函數回調而是直接走success回調了。

應該是配置寫的有問題,于是打開nginx.conf,發現他們配置這么寫:

代碼如下:
error_page  404  =  /404.html;

于是我查閱官網文檔,把上面的表達式改寫為:

代碼如下:
error_page  404     /404.html;

然后重啟

代碼如下:
D:/nginx-1.5.11>nginx.exe -s reload

再來試試:

再來看看ajax請求的:

明顯看到相比前面那條返回標紅404狀態碼,下面console.log出來的是

代碼如下:
[object Object],error,Not Found

然后點擊進入Object看看:

status值是404。既實現返回404頁面,又能返回404狀態碼讓ajax請求能夠根據狀態碼判斷頁面請求狀況進行錯誤處理。

(本文完)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高安市| 潜江市| 特克斯县| 金塔县| 海淀区| 苏尼特左旗| 邯郸市| 龙山县| 和平县| 白水县| 衡水市| 巴彦淖尔市| 胶南市| 汤阴县| 南召县| 辉南县| 南陵县| 武强县| 随州市| 通化县| 平江县| 太谷县| 澄江县| 萝北县| 雷波县| 湾仔区| 南安市| 太白县| 巴马| 黑河市| 正蓝旗| 武平县| 虹口区| 鄂托克旗| 红桥区| 罗江县| 东乌珠穆沁旗| 鞍山市| 铅山县| 蓝田县| 林芝县|