通過增加.htaccess

在httpd.conf中設置對目錄開啟。

AllowOverride All

然後在目錄裡放一個.htaccess(.htaccess),添加:

ErrorDocument 404 /404.html

這個的內容根據你的情況改寫 。可是有時候當你用IE流覽的時候會發現,這玩意壓根就不跳轉,關鍵的地方就是這個html,如果404.html的小於512位元組的話,那麼IE會認為這個錯誤頁面不夠“友好”,會忽視掉的!

通過修改httpd.conf
這樣做的好處是對於你的網站會更安全些,如果沒設置,別人在你的網址後隨便輸入一個路徑,會顯示404錯誤,並且會顯示你的伺服器版本號,伺服器配置一目了然,為了避免這種情況,可以設置錯誤頁面。當出現404錯誤,即找不到網頁時,把訪問者導入到一個錯誤頁面。
修改 httpd.conf,找到:

#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html

httpd.conf中的這一部分,#ErrorDocument 404 /missing.html 是顯示錯誤頁資訊的,去掉前面的#,修改為:

ErrorDocument 404 /404.html

注意
1.切記不要將404錯誤轉向到網站主頁,否則可能會導致主頁在搜尋引擎中消失。如果一個 404 頁面的內容小於 512b,IE 會認為該 404 頁面不夠友好,在 IE 下將不會成功返回該 404 錯誤頁面。
2.切記不要使用絕對URL。例如:http://www.yaiba.net/404.html。正常情況返回的是 404 狀態碼,而使用URL形式則返回的是 200 狀態碼。

配置.htaccess 自訂錯誤頁

我要介紹的.htaccess的第一個應用是自訂錯誤頁面,這將使你可以擁有自己的、個性化的錯誤頁面(例如找不到檔時),而不是你的服務商提供的錯誤頁或沒有任何頁面。這會讓你的網站在出錯的時候看上去更專業。你還可以利用腳本程式在發生錯誤的時候通知你(例如我使用Free Webmaster Help的PHP腳本程式,當找不到頁面的時候自動e-mail給我)。

你所知道的任何分頁錯誤代碼(像404找不到頁面),都可以通過在.htaccess檔裡加入下面的文字將其變成自訂頁面:

ErrorDocument errornumber /file.html

舉例來說,如果我的根目錄下有一個nofound.html檔,我想使用它作為404 error的頁面:

  ErrorDocument 404 /notfound.html

如果檔不在網站的根目錄下,你只需要把路徑設置為:

          ErrorDocument 500 /errorpages/500.html

以下是一些最常用的錯誤:

常用的用戶端請求錯誤返回代碼:

400 - Bad request 錯誤請求
401 Authorization Required需要驗證
403 Forbidden禁止
404 Not Found找不到頁面
405 Method Not Allowed
408 Request Timed Out
411 Content Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type

常見的伺服器錯誤返回代碼:

500 Internal Server Error內部伺服器錯誤

接下來,你要做的只是創建一個錯誤發生時顯示的檔,然後把它們和.htaccess一起上傳。

用戶可以利用.htaccess指定自己事先製作好的錯誤提醒頁面。一般情況下,人們可以專門設立一個目錄,例如errors放置這些頁面。然後再.htaccess中,加入如下的指令:

           ErrorDocument 404 /errors/notfound.html
           ErrorDocument 500 /errors/internalerror.html

一條指令一行。上述第一條指令的意思是對於404,也就是沒有找到所需要的文檔的時候得顯示頁面為/errors目錄下的notfound.html頁面。不難看出語法格式為:

ErrorDocument 錯誤代碼 /目錄名/檔案名.副檔名

如果所需要提示的資訊很少的話,不必專門製作頁面,直接在指令中使用HTML號了,例如下面這個例子:

ErrorDocument 401 “你沒有許可權訪問該頁面,請放棄!”

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料