程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> apache中.htaccess文件的功能寫法

apache中.htaccess文件的功能寫法

編輯:關於Access數據庫

-.htAccess文件(或者"分布式配置文件"提供了針對目錄改變配置的方法,即,在一個特定的文檔目錄中放置一個包含一個或多個指令的文件,以作用於此目錄及其所有子目錄。作為用戶,所能使用的命令受到限制。管理員可以通過apache的AllowOverride指令來設置。

-子目錄中的指令會覆蓋更高級目錄或者主服務器配置文件中的指令。

-.htAccess必須以ASCII模式上傳,最好將其權限設置為644。

錯誤文檔的定位

常用的客戶端請求錯誤返回代碼:
401AuthorizationRequired
403Forbidden
404NotFound
405MethodNotAllowed
408RequestTimedOut
411ContentLengthRequired
412PreconditionFailed
413RequestEntityTooLong
414RequestURITooLong
415UnsupportedMediaType
常見的服務器錯誤返回代碼:
500InternalServerError

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

ErrorDocument404/errors/notfound.Html
ErrorDocument500/errors/internalerror.Html

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

ErrorDocument錯誤代碼/目錄名/文件名.擴展名

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

ErrorDocument401"<bodybgcolor=#ffffff><h1>你沒有權限訪問該頁面,請放棄!</h1></body>"

文檔訪問的密碼保護

要利用.htAccess對某個目錄下的文檔設定訪問用戶和對應的密碼,首先要做的是生成一個.htpasswd的文本文檔,例如:

zheng:y4E7Ep8e7EYV

這裡密碼經過加密,用戶可以自己找些工具將密碼加密成.htAccess支持的編碼。該文檔最好不要放在www目錄下,建議放在www根目錄文檔之外,這樣更為安全些。

有了授權用戶文檔,可以在.htAccess中加入如下指令了:

AuthUserFile.htpasswd的服務器目錄
AuthGroupFile/dev/null(需要授權訪問的目錄)
AuthNameEnterPassWord
AuthTypeBasic(授權類型)

requireuserwsabstract(允許訪問的用戶,如果希望表中所有用戶都允許,可以使用requirevalid-user)

注,括號部分為學習時候自己添加的注釋

拒絕來自某個IP的訪問

如果我不想某個政府部門訪問到我的站點的內容,那可以通過.htAccess中加入該部門的IP而將它們拒絕在外。

例如:


orderallow,deny
denyfrom210.21.112.43
denyfrom219.146.95
allowfromall

第二行拒絕某個IP,第三行拒絕某個IP段,也就是219.146.95.0~219.146.95.255

想要拒絕所有人?用denyfromall好了。不止用IP,也可以用域名來設定。

保護.htAccess文檔

在使用.htaccess來設置目錄的密碼保護時,它包含了密碼文件的路徑。從安全考慮,有必要把.htaccess也保護起來,不讓別人看到其中的內容。雖然可以用其他方式做到這點,比如文檔的權限。不過,.htAccess本身也能做到,只需加入如下的指令:

<Files.htAccess>
orderallow,deny
denyfromall
</Files>

URL轉向

我們可能對網站進行重新規劃,將文檔進行了遷移,或者更改了目錄。這時候,來自搜索引擎或者其他網站鏈接過來的訪問就可能出錯。這種情況下,可以通過如下指令來完成舊的URL自動轉向到新的地址:

Redirect/舊目錄/舊文檔名新文檔的地址

或者整個目錄的轉向:

Redirect舊目錄新目錄

改變缺省的首頁文件

一般情況下缺省的首頁文件名有default、index等。不過,有些時候目錄中沒有缺省文件,而是某個特定的文件名,比如在pmwiki中是pmwiki.
PHP。這種情況下,要用戶記住文件名來訪問很麻煩。在.htAccess中可以輕易的設置新的缺省文件名:

DirectoryIndex新的缺省文件名

也可以列出多個,順序表明它們之間的優先級別

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved