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