技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類 >

nginx自定義404錯(cuò)誤頁(yè)面設(shè)置方法

來源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-11-13 06:09┆點(diǎn)擊:

  今天突然發(fā)現(xiàn)一個(gè)問題,網(wǎng)站設(shè)置了自定義的 404 頁(yè)面, 顯示的是沒有問題, 只是返回的狀態(tài)碼是 200, 而不是404!!

  去看我的 nginx 配置:

  nginx.conf

  代碼如下

  server {

  ...

  error_page 404 = /404.php;

  ...

  }

  乍一看是沒啥,網(wǎng)上搜了一下才知道多了個(gè)等號(hào)!!! 改為這樣:

  nginx.conf

  代碼如下

  server {

  ...

  error_page 404 /404.php;

  ...

  }

  補(bǔ)充一下其它狀態(tài)代碼定義方法

  更改nginx.conf在http定義區(qū)域加入: fastcgi_intercept_errors on;

  為指定位置設(shè)定一個(gè)404頁(yè)面

  代碼如下

  location /my_blog {

  error_page 404 = /article_not_found.html;

  }

  你可以用單個(gè)錯(cuò)誤頁(yè)面一起來處理多個(gè)錯(cuò)誤代碼

  代碼如下

  location /my_blog {

  error_page 500 502 503 504 = /server_error.html

  }

  重定向到一個(gè)完全不同的服務(wù)器,假設(shè)你在http區(qū)域定義有一個(gè)上游服務(wù)器server2:

  代碼如下

  upstream server2 {

  server 10.0.0.1:80;

  }

  server {

  location /my_blog {

  error_page 404 = @try_server2;

  }

  location @try_server2 {

  proxy_pass ;

  }

  這個(gè)功能可以用在Nginx前端+Apache后端的服務(wù)器架構(gòu)中。

  測(cè)試配置

  /usr/local/nginx/sbin/nginx -t

  沒錯(cuò)誤就重啟nginx

  /etc/init.d/nginx restart