- .htaccess文件(或者"分布式配置文件"提供了針對目錄改變配置的方法, 即,在一個特定的文檔目錄中放置一個包含一個或多個指令的文件, 以作用于此目錄及其所有子目錄。作為用戶,所能使用的命令受到限制。治理員可以通過Apache的AllowOverride指令來設(shè)置。
- 子目錄中的指令會覆蓋更高級目錄或者主服務(wù)器配置文件中的指令。
- .htaccess必須以ASCII模式上傳,最好將其權(quán)限設(shè)置為644。
錯誤文檔的定位
常用的客戶端請求錯誤返回代碼:
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
常見的服務(wù)器錯誤返回代碼:
500 Internal Server Error
用戶可以利用.htaccess指定自己事先制作好的錯誤提醒頁面。一般情況下,人們可以專門設(shè)立一個目錄,例如errors放置這些頁面。然后再.htaccess中,加入如下的指令:
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
一條指令一行。上述第一條指令的意思是對于404,也就是沒有找到所需要的文檔的時候得顯示頁面為/errors目錄下的notfound.html頁面。不難看出語法格式為:
ErrorDocument 錯誤代碼 /目錄名/文件名.擴展名
假如所需要提示的信息很少的話,不必專門制作頁面,直接在指令中使用HTML號了,例如下面這個例子:
ErrorDocument 401 "<body bgcolor=#ffffff><h1>你沒有權(quán)限訪問該頁面,請放棄!</h1></body>"
文檔訪問的密碼保護
要利用.htaccess對某個目錄下的文檔設(shè)定訪問用戶和對應(yīng)的密碼,首先要做的是生成一個.htpasswd的文本文檔,例如:
zheng:y4E7Ep8e7EYV
這里密碼經(jīng)過加密,用戶可以自己找些工具將密碼加密成.htaccess支持的編碼。該文檔最好不要放在www目錄下,建議放在www根目錄文檔之外,這樣更為安全些。
有了授權(quán)用戶文檔,可以在.htaccess中加入如下指令了:
AuthUserFile .htpasswd的服務(wù)器目錄
AuthGroupFile /dev/null (需要授權(quán)訪問的目錄)
AuthName EnterPassword
AuthType Basic (授權(quán)類型)
require user wsabstract (答應(yīng)訪問的用戶,假如希望表中所有用戶都答應(yīng),可以使用 require valid-user)
注,括號部分為學(xué)習(xí)時候自己添加的注釋
拒絕來自某個IP的訪問
假如我不想某個政府部門訪問到我的站點的內(nèi)容,那可以通過.htaccess中加入該部門的IP而將它們拒絕在外。