|
.htaccess文件允許我們針對特定目錄及其子目錄修改一些服務(wù)器設(shè)置,雖然這種類型的配置最好是在服務(wù)器本身配置文件的<Directory>小節(jié)部分處理,但有時我們根本沒有權(quán)限訪問這個配置文件,尤其是當(dāng)我們在一臺共享的托管主機(jī)上,大多數(shù)共享主機(jī)服務(wù)商只允許我們以.htaccess方式來改變服務(wù)器的行為。
.htaccess文件是一個簡單的文本文件,注意文件名前的“.”很重要,我們可以用自己喜歡的文本編輯器編輯它,然后上傳到我們的服務(wù)器,將其放在我們想要改變服務(wù)器默認(rèn)行為的目錄下。
通過.htaccess文件我們可以做的事包括:為文件夾設(shè)置密碼保護(hù),創(chuàng)建重定向,調(diào)整php設(shè)置,控制文件緩存,控制服務(wù)器如何處理擴(kuò)展名(例如,我們可以讓一個HTML文件通過php模塊運(yùn)行,而不是簡單的通過Web服務(wù)器解析它),以及改變文件返回給訪問者的方式。下面我開始介紹這個文件最常見的8種用法。
1、禁止對無索引文件的目錄進(jìn)行文件列表展示
默認(rèn)情況下,當(dāng)我們訪問網(wǎng)站的某個無索引文件(如index.html,index.htm或index.php)目錄時,服務(wù)器會顯示該目錄的文件和子目錄列表,這是非常危險的,因為它可能暴露網(wǎng)站的內(nèi)部結(jié)構(gòu),也許不小心就將含有敏感信息的文件公之于眾了,為了禁止這種行為,我們可以在網(wǎng)站根目錄創(chuàng)建一個.htaccess文件,內(nèi)容如下:
Options –Indexes
2、創(chuàng)建重定向或改變丟失文件的響應(yīng)狀態(tài)
當(dāng)我們從服務(wù)器請求一個找不到的文件時,默認(rèn)情況下服務(wù)器會返回404狀態(tài)碼,瀏覽器和訪問者便知道URL指定的位置找不到該文件,但這是一個通用的消息,沒有太大的實(shí)際意義,我們希望告訴瀏覽器和訪問者更多有用的信息,如:
◆文件被永久移走
狀態(tài)碼301告訴瀏覽器文件已經(jīng)被永久移動到另一個位置,這樣我們就可以通過.htaccess文件實(shí)現(xiàn)重定向了,例如,使用下面的代碼可以將瀏覽器重定向到新的地址:
Redirect 301 /path/from/htaccess/file.html http://www.domain.tld/path/file.html
◆文件被暫時移走
狀態(tài)碼307告訴瀏覽器文件已經(jīng)被移走,但這是暫時的,瀏覽器接收到301狀態(tài)碼時就會訪問新地址,但不用改變文件的鏈接,也不會為新地址創(chuàng)建緩存(除非它受Cache-Control或過期頭信息字段控制),瀏覽器每次都會繼續(xù)請求源地址。
Redirect 307 /path/from/htaccess/file.html http://www.domain.tld/path/file.html
◆文件不存在
狀態(tài)碼410告訴瀏覽器,它請求的文件已經(jīng)從服務(wù)器上永久刪除,和404不一樣,404僅僅表示文件不在這里的意思,而410表示文件不僅不在這里,在其它地方也沒有。
Redirect 410 /path/from/htaccess/file.html
it知識庫:Apache .htaccess文件的8個用法,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。