nginx 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://blog.luwen.cc; 【在nginx配置文件中,‘;’分號要帶上,也就是直接把404頁面重定向到自己的主頁】
4.更改後重啟nginx,,測試nginx.conf正確性: /usr/local/nginx/sbin/nginx -t 顯示ok然後重啟
/usr/local/nginx/sbin/nginx -s reload 即可 然後測試即可!我的網站404頁面已經重定向到我的主頁呢
#502、503、504 等錯誤可以用同樣的方法來配置。
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錯誤
nginx 404重定向到自定義頁面