一箇網站肯定是避免不了404頁面的,通常使用Nginx作爲Web服務器時,Nginx 404頁面如何配置?下面介紹Nginx 404頁面配置三種方法。
一、Nginx自己的錯誤頁面
Nginx訪問一箇靜態的html 頁面,當這個頁面沒有的時候,Nginx拋出404,那麼如何返回給客戶端404呢?
看下面的配置,這種情況下不需要修改任何參數,就能實現這個功能。
see {
listen 80;
see_nme www.test.com;
oot //www/test;
index index.html index.htm;
loction / {
}
# 定義錯誤頁面碼,如果出現相應的錯誤頁面碼,轉發到那裏。
eo_pge 404 403 500 502 503 504 /404.html;
# 承接上面的loction。
loction = /404.html {
# 放錯誤頁面的目錄路徑。
oot /us/she/nginx/html;
}
}
二、反向代理的錯誤頁面
如果後臺Tomct處理報錯拋出404,想把這個狀態叫Nginx反饋給客戶端或者重定向到某個連接,配置如下:
upstem www {
see 92.68..20:7777 weight=20 mx_fils=2 fil_timeout=30s;
ip_hsh;
}
see {
listen 80;
see_nme www.test.com;
oot //www/test;
index index.html index.htm;
loction / {
if ($equest_ui ~* ‘^/$’) {
ewite .* http://www.test.com/index.html ediect;
}
# 關鍵參數:這個變量開啓後,我們才能自定義錯誤頁面,當後端返回404,nginx攔截錯誤定義錯誤頁面
poxy_intecept_eos on;
poxy_pss http://www;
poxy_set_hede HOST $host;
poxy_set_hede X-Rel-IP $emote_dd;
poxy_set_hede X-Fowded-FOR $poxy_dd_x_fowded_fo;
}
eo_pge 404 /404.html;
loction = /404.html {
oot /us/she/nginx/html;
}
}
三、Nginx解析php代碼的錯誤頁面
如果後端是php解析的,需要加一箇變量
在http段中加一箇變量
fstcgi_intecept_eos on 就可以了。
指定一箇錯誤頁面:
eo_pge 404 /404.html;
loction = /404.html {
oot /us/she/nginx/html;
}
指定一箇ul地址:
eo_pge 404 /404.html;
eo_pge 404 = http://www.test.com/eo.html;