網站服務器在不能響應使用者需求下,會產生各類錯誤訊息,這些錯誤訊息均有一個代碼,咱們來瞧瞧這代碼所表明的意義: php
響應代碼 |
響應內容 |
表明意義 |
401 |
Authorization failed |
受權失敗。用戶輸入的帳號密碼沒法獲得受權。 |
403 |
Forbidden |
訪問控制機制拒絕使用者的請求,也就是說你不能夠讀取這個檔案。 |
404 |
File not found |
被要求的網頁不存在於這個服務器上,找不到檔案。 |
500 |
Internal Server Error |
服務器內部錯誤;多是網站服務器或PHP出了問題。 |
501 |
Not Implemented |
服務器不瞭解數據傳遞的方式。 |
503 |
Service Unavailable |
這個服務器目前正在處理太多的服務要求。 |
【圖1 找不到檔案時顯示方式】 html
若是咱們想要自定義錯誤訊息呢?要設定錯誤頁,請在.htaccess中輸入:
ErrorDocument 錯誤代碼 /網站根目錄開始的文件夾/文件名 web
例如當使用者找不到網頁時,會產生404錯誤的回傳,請在.htaccess內加入如下數據:
ErrorDocument 404 /error/notfound.htm 當使用者在瀏覽不存在的網頁時,就會自動轉向至localhost(或你的網站ip)/error/notfound.htm,
【圖2 自定義找不到檔案時顯示的內容】 服務器
因此您可針對上述的錯誤情形,在.htaccess內加入多行的語法:
ErrorDocument 401 /errors/authreqd.html
ErrorDocument 403 /errors/forbid.html
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/serverr.html 網站
除了指向目錄內的網頁外,您也能夠指向一個網址,就能夠多個網站共享相同的錯誤訊息,再以找不到網頁時,會產生404錯誤的回傳,您可在.htaccess內加入如下數據:
ErrorDocument 404 http://localhost/error/notfound.htm ErrorDocument也可接一段文字或者直接指定一段html語法,可是,文字或html必須與ErrorDocument是同一行。找不到網頁時,但願顯示文字,您可在.htaccess內加入如下數據:
ErrorDocument 404 "Page not found!!" 找不到網頁時,但願顯示網頁,您可在.htaccess內加入如下數據: spa
ErrorDocument 404 "<h1><i>Page not found!!</i></h1>"
【圖3 自定義找不到檔案時顯示的內容】
另外: 如果由於絕對路徑與相對路徑的問題.
最好在前面加個 Alias 去把 /error/ 的路徑定義出來, 不然可能會由於路徑錯誤而找不到檔案. server
Alias /errors/ "/var/www/web4/web/error/" htm
ErrorDocument 401 /errors/error.html ip