apache的AllowOverride以及Options使用詳解


通常利用Apache的rewrite模塊對 URL 進行重寫的時候, rewrite規則會寫在 .htaccess 文件里。但要使 apache 能夠正常的讀取.htaccess 文件的內容,就必須對.htaccess 所在目錄進行配置

AllowOverride參數就是指明Apache服務器是否去找.htacess文件作為配置文件,如果設置為none,那么服務器將忽略.htacess文件,如果設置為All,那么所有在.htaccess文件里有的指令都將被重寫。對於AllowOverride,還可以對它指定如下一些能被重寫的指令類型. 

通常利用Apache的rewrite模塊對 URL 進行重寫的時候, rewrite規則會寫在 .htaccess 文件里。但要使 apache 能夠正常的讀取.htaccess 文件的內容,就必須對.htaccess 所在目錄進行配置。從安全性考慮,根目錄的AllowOverride屬性一般都配置成不允許任何Override ,即 

復制代碼代碼如下:

<Directory /> 
AllowOverride None 
</Directory> 



在 AllowOverride 設置為 None 時, .htaccess 文件將被完全忽略。當此指令設置為 All 時,所有具有 ".htaccess" 作用域的指令都允許出現在 .htaccess 文件中。 

而對於 URL rewrite 來說,至少需要把目錄設置為 

復制代碼代碼如下:

< 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/訪問時,/php/和其下面的子目錄將支持url rewrite

1  AuthConfig  允許使用所有的權限指令,他們包括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       允許使用權限控制指令。它們包括Allow Deny和Order

5  Options     允許使用控制目錄特征的指令.他們包括Options 和XBitHack

Options

1  All         准許以下除MultiViews以外所有功能

2  MultiViews  允許多重內容被瀏覽,如果你的目錄下有一個叫做foo.txt的文件,那么你可以通過/foo來訪問到它,這對於一個多語言內容的站點比較有用

3  Indexes     若該目錄下無index文件,則准許顯示該目錄下的文件以供選擇

4  IncludesNOEXEC  准許SSI,但不可使用#exec和#include功能

5  Includes    准許SSI

6  FollowSymLinks  在該目錄中,服務器將跟蹤符號鏈接。注意,即使服務器跟蹤符號鏈接,它也不會改變用來匹配不同區域的路徑名,如果在<Local>;標記內設置,該選項會被忽略

7  SymLinksIfOwnerMatch  在該目錄中僅僅跟蹤本站點內的鏈接

8  ExecCGI     在該目錄下准許使用CGI


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM