納悶著主題一直都有404.php的文件,可就為什么不會跳404頁面呢?有可能是寶塔的nginx配置問題,可以參考。
步驟一
選擇要修改的網站–設置–配置文件

注意修改的位置上面有注釋:#ERROR-PAGE-START 錯誤頁配置,可以注釋、刪除或修改
#ERROR-PAGE-START //錯誤頁配置,可以注釋、刪除或修改 #error_page 404 /404.html; //這段代碼要注釋掉 前面加# #error_page 502 /502.html; //這段代碼要注釋掉 前面加# #ERROR-PAGE-ENDru
如圖

步驟二:
采用寶塔面板部署wordpress時。會在網站根目錄下添加兩個文件,分別時index.html和404.html,將上述文件刪掉即可。
補充
- 原文來源:詳情
NGINX 配置404錯誤頁面轉向
什么是404頁面
如果碰巧網站出了問題,或者用戶試圖訪問一個并不存在的頁面時,此時服務器會返回代碼為404的錯誤信息,此時對應頁面就是404頁面。404頁面的默認內容和具體的服務器有關。如果后臺用的是NGINX服務器,那么404頁面的內容則為:404 Not Found?
為什么要自定義404頁面
在訪問時遇到上面這樣的404錯誤頁面,我想99%(未經調查,估計數據)的用戶會把頁面關掉,用戶就這樣悄悄的流失了。如果此時能有一個漂亮的頁面能夠引導用戶去他想去的地方必然可以留住用戶。因此,每一個網站都應該自定義自己的404頁面。
NGINX下如何自定義404頁面
IIS和APACHE下自定義404頁面的經驗介紹文章已經非常多了,NGINX的目前還比較少,為了解決自家的問題特地對此作了深入的研究。研究結果表明,NGINX下配置自定義的404頁面是可行的,而且很簡單,只需如下幾步:
1.創建自己的404.html頁面?
2.更改nginx.conf在http定義區域加入:?fastcgi_intercept_errors on;?
3.更改nginx.conf(或單獨網站配置文件,例如在nginx ->?sites-enabled下的站點配置文件 )
中在server 區域加入:?error_page 404?/404.html?或者?error_page 404 =http://www.xxx.com/404.html
4.更改后重啟nginx,,測試nginx.conf正確性: /opt/nginx/sbin/nginx –t?
#502 等錯誤可以用同樣的方法來配置。??
error_page?500 502 503 504?/50x.html;?
注意事項:
1.必須要添加:fastcgi_intercept_errors on; 如果這個選項沒有設置,即使創建了404.html和配置了error_page也沒有效果。fastcgi_intercept_errors 語法: fastcgi_intercept_errors on|off 默認: fastcgi_intercept_errors off 添加位置: http, server, location 默認情況下,nginx不支持自定義404錯誤頁面,只有這個指令被設置為on,nginx才支持將404錯誤重定向。這里需要注意的是,并不是說設置了fastcgi_intercept_errors on,nginx就會將404錯誤重定向。在nginx中404錯誤重定向生效的前提是設置了fastcgi_intercept_errors on,并且正確的設置了error_page這個選項(包括語法和對應的404頁面)?
2.不要出于省事或者提高首頁權重的目的將首頁指定為404錯誤頁面,也不要用其它方法跳轉到首頁。?
3.自定義的404頁面必須大于512字節,否則可能會出現IE默認的404頁面。例如,假設自定義了404.html,大小只有11個字節(內容為:404錯誤)。