AllowOverride參數(shù)就是指明Apache服務(wù)器是否去找.htacess文件作為配置文件,如果設(shè)置為none,那么服務(wù)器將忽略.htacess文件,如果設(shè)置為All,那么所有在.htaccess文件里有的指令都將被重寫(xiě)。對(duì)于AllowOverride,還可以對(duì)它指定如下一些能被重寫(xiě)的指令類(lèi)型.
通常利用Apache的rewrite模塊對(duì) URL 進(jìn)行重寫(xiě)的時(shí)候, rewrite規(guī)則會(huì)寫(xiě)在 .htaccess 文件里。但要使 apache 能夠正常的讀取.htaccess 文件的內(nèi)容,就必須對(duì).htaccess 所在目錄進(jìn)行配置。從安全性考慮,根目錄的AllowOverride屬性一般都配置成不允許任何Override ,即
復(fù)制代碼代碼如下:
AllowOverride None
在 AllowOverride 設(shè)置為 None 時(shí), .htaccess 文件將被完全忽略。當(dāng)此指令設(shè)置為 All 時(shí),所有具有 ".htaccess" 作用域的指令都允許出現(xiàn)在 .htaccess 文件中。
而對(duì)于 URL rewrite 來(lái)說(shuō),至少需要把目錄設(shè)置為
復(fù)制代碼代碼如下:
< Directory /myblogroot/>
AllowOverride FileInfo
< /Directory>
2.在要支持url rewirte的目錄啟用 Options FollowSymLinks和AllowOverride All
復(fù)制代碼代碼如下:
Alias /php "c:/web/php/"
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
這樣通過(guò)http://localhost:8080/php/訪(fǎng)問(wèn)時(shí),/php/和其下面的子目錄將支持url rewrite
1 AuthConfig 允許使用所有的權(quán)限指令,他們包括AuthDBMGroupFile AuthDBMUserFile AuthGroupFile AuthName AuthTypeAuthUserFile和Require
2 FileInfo 允許使用文件控制類(lèi)型的指令。它們包括AddEncoding AddLanguage AddType DEfaultType ErrorDocument LanguagePriority
3 Indexes 允許使用目錄控制類(lèi)型的指令。它們包括AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon DirectoryIndex FancyIndexing HeaderName IndexIgnore IndexOptions ReadmeName
4 Limit 允許使用權(quán)限控制指令。它們包括Allow Deny和Order
5 Options 允許使用控制目錄特征的指令.他們包括Options 和XBitHack
Options
1 All 準(zhǔn)許以下除MultiViews以外所有功能
2 MultiViews 允許多重內(nèi)容被瀏覽,如果你的目錄下有一個(gè)叫做foo.txt的文件,那么你可以通過(guò)/foo來(lái)訪(fǎng)問(wèn)到它,這對(duì)于一個(gè)多語(yǔ)言?xún)?nèi)容的站點(diǎn)比較有用
3 Indexes 若該目錄下無(wú)index文件,則準(zhǔn)許顯示該目錄下的文件以供選擇
4 IncludesNOEXEC 準(zhǔn)許SSI,但不可使用#exec和#include功能
5 Includes 準(zhǔn)許SSI
6 FollowSymLinks 在該目錄中,服務(wù)器將跟蹤符號(hào)鏈接。注意,即使服務(wù)器跟蹤符號(hào)鏈接,它也不會(huì)改變用來(lái)匹配不同區(qū)域的路徑名,如果在
7 SymLinksIfOwnerMatch 在該目錄中僅僅跟蹤本站點(diǎn)內(nèi)的鏈接
8 ExecCGI 在該目錄下準(zhǔn)許使用CGI