溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Nginx中怎么實(shí)現(xiàn)404頁(yè)面

發(fā)布時(shí)間:2021-08-09 14:46:39 來(lái)源:億速云 閱讀:127 作者:Leah 欄目:服務(wù)器

今天就跟大家聊聊有關(guān)Nginx中怎么實(shí)現(xiàn)404頁(yè)面,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

***種:Nginx自己的錯(cuò)誤頁(yè)面

Nginx訪問(wèn)一個(gè)靜態(tài)的html 頁(yè)面,當(dāng)這個(gè)頁(yè)面沒(méi)有的時(shí)候,Nginx拋出404,那么如何返回給客戶端404呢?

看下面的配置,這種情況下不需要修改任何參數(shù),就能實(shí)現(xiàn)這個(gè)功能。

server {     listen      80;     server_name  www.test.com;         root   /var/www/test;         index  index.html index.htm;     location / {     }     # 定義錯(cuò)誤頁(yè)面碼,如果出現(xiàn)相應(yīng)的錯(cuò)誤頁(yè)面碼,轉(zhuǎn)發(fā)到那里。     error_page  404 403 500 502 503 504  /404.html;     # 承接上面的location。     location = /404.html {     # 放錯(cuò)誤頁(yè)面的目錄路徑。         root   /usr/share/nginx/html;     } }

Nginx中怎么實(shí)現(xiàn)404頁(yè)面

第二種:反向代理的錯(cuò)誤頁(yè)面

如果后臺(tái)Tomcat處理報(bào)錯(cuò)拋出404,想把這個(gè)狀態(tài)叫Nginx反饋給客戶端或者重定向到某個(gè)連接,配置如下:

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ù):這個(gè)變量開(kāi)啟后,我們才能自定義錯(cuò)誤頁(yè)面,當(dāng)后端返回404,nginx攔截錯(cuò)誤定義錯(cuò)誤頁(yè)面         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代碼的錯(cuò)誤頁(yè)面

如果后端是php解析的,需要加一個(gè)變量

在http段中加一個(gè)變量 fastcgi_intercept_errors on 就可以了。

  • 指定一個(gè)錯(cuò)誤頁(yè)面:

error_page    404  /404.html; location = /404.html {     root   /usr/share/nginx/html; }
  • 指定一個(gè)url地址:

error_page 404  /404.html;  error_page 404 = http://www.test.com/error.html;

看完上述內(nèi)容,你們對(duì)Nginx中怎么實(shí)現(xiàn)404頁(yè)面有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI