今天就跟大家聊聊有關(guān)Nginx中怎么實現(xiàn)404頁面,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)建站服務(wù)項目包括寧蒗網(wǎng)站建設(shè)、寧蒗網(wǎng)站制作、寧蒗網(wǎng)頁制作以及寧蒗網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,寧蒗網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到寧蒗省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
***種:Nginx自己的錯誤頁面
Nginx訪問一個靜態(tài)的html 頁面,當這個頁面沒有的時候,Nginx拋出404,那么如何返回給客戶端404呢?
看下面的配置,這種情況下不需要修改任何參數(shù),就能實現(xiàn)這個功能。
server { listen 80; server_name www.test.com; root /var/www/test; index index.html index.htm; location / { } # 定義錯誤頁面碼,如果出現(xiàn)相應(yīng)的錯誤頁面碼,轉(zhuǎn)發(fā)到那里。 error_page 404 403 500 502 503 504 /404.html; # 承接上面的location。 location = /404.html { # 放錯誤頁面的目錄路徑。 root /usr/share/nginx/html; } }
第二種:反向代理的錯誤頁面
如果后臺Tomcat處理報錯拋出404,想把這個狀態(tài)叫Nginx反饋給客戶端或者重定向到某個連接,配置如下:
upstream www { server 192.168.1.201:7777 weight=20 max_fails=2 fail_timeout=30s; ip_hash; } server { listen 80; server_name www.test.com; root /var/www/test; index index.html index.htm; location / { if ($request_uri ~* '^/$') { rewrite .* http://www.test.com/index.html redirect; } # 關(guān)鍵參數(shù):這個變量開啟后,我們才能自定義錯誤頁面,當后端返回404,nginx攔截錯誤定義錯誤頁面 proxy_intercept_errors on; proxy_pass http://www; proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } }
第三種:Nginx解析php代碼的錯誤頁面
如果后端是php解析的,需要加一個變量
在http段中加一個變量 fastcgi_intercept_errors on 就可以了。
指定一個錯誤頁面:
error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; }
指定一個url地址:
error_page 404 /404.html; error_page 404 = http://www.test.com/error.html;
看完上述內(nèi)容,你們對Nginx中怎么實現(xiàn)404頁面有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。