NGINX 設定404錯誤頁面轉向
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-07-25 08:46:49
404頁
如果碰巧網站出了問題,或者當用戶試圖訪問一個並不存在的頁面時,此時伺服器會回傳代碼為404的錯誤訊息,此時對應頁面就是404頁面。 404頁面 的預設內容和具體的伺服器有關。如果後台用的是NGINX伺服器,那麼404頁的內容則為: 404 Not Foundnginx/0.8.6
為什麼要自訂404頁
為什麼要自訂404頁
為什麼要自訂404頁
為什麼要自訂404頁
在訪問時遇到上面這樣的404錯誤頁面,我想99%(未經調查,估計數據)的用戶會把頁面關掉,用戶就這樣悄悄的流失了。如果此時能有一個漂亮的頁 面能夠引導使用者去他想去的地方必然可以留住使用者。因此,每一個網站都應該自訂自己的404頁面。
NGINX下如何自訂404頁
IIS和APACHE下自訂404頁面的經驗介紹文章已經非常多了,NGINX的目前還比較少,湊巧我的幾台伺服器都是NGINX的,為了解決自家的問題特地對此作了深入的研究。研究結果表明,NGINX下配置自訂的404頁面是可行的,而且很簡單,只需如下幾步:
1.創建自己的404.html頁面
2. 更改nginx.conf在http定義區域加入:fastcgi_intercept_errors on;
3. 在更改🎜>3.在更改區域加入:
error_page 404 = /404.html
4. 測試nginx.conf正確性:/opt/nginx/sbint/nginx/sbint/nginx nginx –t
如果正確應該顯示以下資訊:
- the configuration file /opt/nginx/conf/nginx.conf syntax is ok
configuration file /opt/nginx/conf/nginx.conf test is successful
- kill -HUP `cat /opt/nginx/nginx.pid `
- 配置文件實例:
-
……
- http
- {
- include
- charset gb2312;
- server_names_hash_bucket_size 128;
- client_header_buffer_size 32k; 🎜>client_max_body_size 8m;
- sendfile on;
- tcp_nopush on;
- keepalive_timeout 60;
- tcp_nodelay on; >fastcgi_send_timeout 300;
- fastcgi_read_timeout 300;
- fastcgi_buffer_size 64k;
- fastcgi_buffers 4 64k; _temp_file_write_size 128k;
- fastcgi_intercept_errors on;
- gzip on;
- gzip_min_length 1k;
- gzip_buffers 1k;
- gzip_buffers 1k;
- gzip_buffers
- gzip_comp_level 2 ;
- gzip_types text/plain application/x-javascript text/css application/xml;
- gzip_vary r.
-
複製程式碼
#65的設定資訊
server
- {
- listen .65 .la;
- index index.html index.htm index.php;
- root /opt/www/65;
- /opt/www/65;
- /opt/www/65;
- /opt/).( ?$
- {
- #fastcgi_pass unix:/tmp/php-cgi.sock;
- fastcgi_index index. php;
- include fcgi.conf;
- }
- error_page 404 = /404.html; >
- #502 等錯誤可以用同樣的方法來設定。
- error_page 500 502 503 504 = /50x.html;
- ocation = /50x.html
- }
- log_format 65 '$remote_addr – $remote_user [$time_local] "$re "$http_referer" '
- '"$ http_user_agent" $http_x_forwarded_for';
- access_log /opt/nginx/logs/65.log 65;
- }
-
……
-
注意事項:
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,ngin錯誤才支援將404x定向。這裡要注意的是,並不是說設定了 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錯誤)。如下兩個不存在的地址去訪問:
問一個問題,創建的404頁面放在哪裡呢?
我還沒去嘗試
@5169.info
放在哪裡都可以,注意改下這行配置就可以了
error_page 404 = /404.html;
@5169.info
放在哪裡都可以,注意改下這行配置就可以了
error_page 404 = /404.html;
也就是說,每個子站都複製一份404文件,可不可以這樣
error_page 404 = ../404.html;
只做一套 404放在htdocs下面
本文目前尚無任何 trackbacks 和 pingbacks.
注意
: 評論者允許使用'@user:''@user:'的方式將自己的評論通知另外評論者。
例如, ABC是本文的評論者之一,則使用'@ABC 不包括單引號)將會自動將您的評論發送給ABC。
user必須與評論者名稱相符,區分大小 寫
start.jpg
|
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31