一、錯(cuò)誤文檔的定位
(1)常用的客戶(hù)端請(qǐng)求錯(cuò)誤返回代碼:
401 Authorization Required(2)常見(jiàn)的服務(wù)器錯(cuò)誤返回代碼:
500 Internal Server Error(3)用戶(hù)可以利用.htaccess指定自己事先制作好的錯(cuò)誤提醒頁(yè)面。一般情況下,人們可以專(zhuān)門(mén)設(shè)立一個(gè)目錄,例如errors放置這些頁(yè)面。然后再.htaccess中,加入如下的指令:
ErrorDocument 404 /errors/notfound.html
上述第一條指令的意思是對(duì)于404,也就是沒(méi)有找到所需要的文檔的時(shí)候得顯示頁(yè)面為/errors目錄下的notfound.html頁(yè)面。不難看出語(yǔ)法格式為:
如果所需要提示的信息很少的話(huà),不必專(zhuān)門(mén)制作頁(yè)面,直接在指令中使用HTML號(hào)了,例如下面這個(gè)例子:
ErrorDocument 401 "<body bgcolor=#ffffff> 你沒(méi)有權(quán)限訪問(wèn)該頁(yè)面! </body>"
二、文檔訪問(wèn)的密碼保護(hù)要利用.htaccess對(duì)某個(gè)目錄下的文檔設(shè)定訪問(wèn)用戶(hù)和對(duì)應(yīng)的密碼,首先要做的是生成一個(gè).htpasswd的文本文檔,例如:
這里密碼經(jīng)過(guò)加密,用戶(hù)可以自己找些工具將密碼加密成.htaccess支持的編碼。該文檔最好不要放在www目錄下,建議放在www根目錄文檔之外,這樣更為安全些。
有了授權(quán)用戶(hù)文檔,可以在.htaccess中加入如下指令了:
AuthUserFile .htpasswd的服務(wù)器目錄require user wsabstract (允許訪問(wèn)的用戶(hù),如果希望表中所有用戶(hù)都允許,可以使用 require valid-user)
注:括號(hào)部分為學(xué)習(xí)時(shí)候自己添加的注釋
三、拒絕來(lái)自某個(gè)IP的訪問(wèn)
如果我不想某個(gè)政府部門(mén)訪問(wèn)到我的站點(diǎn)的內(nèi)容,那可以通過(guò).htaccess中加入該部門(mén)的IP而將它們拒絕在外。 例如:
order allow,deny注: 第二行拒絕某個(gè)IP,第三行拒絕某個(gè)IP段,也就是219.146.95.0~219.146.95.255 想要拒絕所有人?用deny from all好了。不止用IP,也可以用域名來(lái)設(shè)定。
四、保護(hù).htaccess文檔
在使用.htaccess來(lái)設(shè)置目錄的密碼保護(hù)時(shí),它包含了密碼文件的路徑。從安全考慮,有必要把.htaccess也保護(hù)起來(lái),不讓別人看到其中的內(nèi)容。雖然可以用其他方式做到這點(diǎn),比如文檔的權(quán)限。不過(guò),.htaccess本身也能做到,只需加入如下的指令:
<Files .htaccess>五、URL轉(zhuǎn)向
我們可能對(duì)網(wǎng)站進(jìn)行重新規(guī)劃,將文檔進(jìn)行了遷移,或者更改了目錄。這時(shí)候,來(lái)自搜索引擎或者其他網(wǎng)站鏈接過(guò)來(lái)的訪問(wèn)就可能出錯(cuò)。這種情況下,可以通過(guò)如下指令來(lái)完成舊的URL自動(dòng)轉(zhuǎn)向到新的地址:
Redirect /舊目錄/舊文檔名 新文檔的地址一般情況下缺省的首頁(yè)文件名有default、index等。不過(guò),有些時(shí)候目錄中沒(méi)有缺省文件,而是某個(gè)特定的文件名,比如在pmwiki中是pmwiki.php。這種情況下,要用戶(hù)記住文件名來(lái)訪問(wèn)很麻煩。在.htaccess中可以輕易的設(shè)置新的缺省文件名:
DirectoryIndex 新的缺省文件名也可以列出多個(gè),順序表明它們之間的優(yōu)先級(jí)別,
例如:
DirectoryIndex filename.html index.cgi index.pl default.htm新聞熱點(diǎn)
疑難解答
圖片精選