.htaccess ErrorDocument使用方式

網站服務器在不能響應使用者需求下,會產生各類錯誤訊息,這些錯誤訊息均有一個代碼,咱們來瞧瞧這代碼所表明的意義: php


響應代碼
響應內容
表明意義
401
Authorization failed
受權失敗。用戶輸入的帳號密碼沒法獲得受權。
403
Forbidden
訪問控制機制拒絕使用者的請求,也就是說你不能夠讀取這個檔案。
404
File not found
被要求的網頁不存在於這個服務器上,找不到檔案。
500
Internal Server Error
服務器內部錯誤;多是網站服務器或PHP出了問題。
501
Not Implemented
服務器不瞭解數據傳遞的方式。
503
Service Unavailable
這個服務器目前正在處理太多的服務要求。

php_ch10-19

【圖1 找不到檔案時顯示方式】 html

若是咱們想要自定義錯誤訊息呢?要設定錯誤頁,請在.htaccess中輸入:
ErrorDocument 錯誤代碼 /網站根目錄開始的文件夾/文件名  web

例如當使用者找不到網頁時,會產生404錯誤的回傳,請在.htaccess內加入如下數據:
ErrorDocument 404 /error/notfound.htm 當使用者在瀏覽不存在的網頁時,就會自動轉向至localhost(或你的網站ip)/error/notfound.htm,

php_ch10-20
【圖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>"

php_ch10-21
【圖3 自定義找不到檔案時顯示的內容】

另外: 如果由於絕對路徑與相對路徑的問題.
最好在前面加個 Alias 去把 /error/ 的路徑定義出來, 不然可能會由於路徑錯誤而找不到檔案. server

Alias /errors/  "/var/www/web4/web/error/" htm

ErrorDocument 401 /errors/error.html ip

相關文章
相關標籤/搜索