国产探花免费观看_亚洲丰满少妇自慰呻吟_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請求能夠根據狀態碼判斷頁面請求狀況進行錯誤處理。

(本文完)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久治县| 视频| 鹤山市| 柳林县| 阿拉尔市| 察隅县| 大化| 雷州市| 元氏县| 德格县| 保德县| 武平县| 扶沟县| 安远县| 沂南县| 连州市| 涞源县| 易门县| 沂南县| 贵南县| 黄石市| 静海县| 临泉县| 祥云县| 巴里| 华亭县| 义马市| 灵山县| 保山市| 株洲市| 青田县| 平陆县| 清水河县| 成武县| 涟水县| 柳江县| 桃源县| 宁夏| 石屏县| 嘉义县| 安塞县|