AllowOverride是什麼
確定允許存在於.htaccess檔案中的指令類型.說明
AllowOverride是指確定允許存在於.htaccess檔案中的指令類型通常利用Apache的rewrite模組對 URL 進行重寫的時候, rewrite規則會寫在 .htaccess 檔案里。但要使 apache 能夠正常的讀取.htaccess 檔案的內容,就必須對.htaccess 所在目錄進行配置。從安全性考慮,根目錄的AllowOverride屬性一般都配置成“None”不允許任何Override(優先權)。
語法
AllowOverride All|None|directive-type [directive-type] ...當伺服器發現一個.htaccess檔案(由AccessFileName指定)時,它需要知道在這個檔案中聲明的哪些指令能覆蓋在此之前指定的配置指令。
說明
僅允許存在於<Directory>配置段AllowOverride僅在不包含正則表達式的<Directory>配置段中才是有效的。在<Location>, <DirectoryMatch>, <Files>配置段中都是無效的。
如果此指令被設定為None ,那么.htaccess檔案將被完全忽略。事實上,伺服器根本不會讀取.htaccess檔案。
具體套用
當AllowOverride指令設定為 All時,所有具有".htaccess"作用域的指令都允許出現在.htaccess檔案中。directive-type可以是下列各組指令之一:
AuthConfig
允許使用與認證授權相關的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。
FileInfo
允許使用控制文檔類型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文檔元數據的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。
Indexes
允許使用控制目錄索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。
Limit
允許使用控制主機訪問的指令(Allow, Deny, Order)。
Options[=Option,...]
允許使用控制指定目錄功能的指令(Options和XBitHack)。可以在等號後面附加一個逗號分隔的(無空格的)Options選項列表,用來控制允許Options指令使用哪些選項。
例如:以下指令只允許在.htaccess中使用AuthConfig和Indexes組的指令:
AllowOverride AuthConfig Indexes
不在這兩組中的指令將會導致伺服器產生一個內部錯誤。