Apache HTTP Server 版本2.2
本頁闡述了Apache服務(wù)器的配置文件。
相關(guān)模塊 | 相關(guān)指令 |
---|---|
Apache的配置文件是包含若干指令的純文本文件。主配置文件通常叫httpd.conf
,其位置是編譯時確定的,但可以用命令行參數(shù) -f
來改變。另外,還可以用Include
指令和通配符附加許多其他配置文件。任何配置文件都可以使用任何指令。只有在啟動或重新啟動Apache后,主配置文件的更改才會生效。
服務(wù)器還會讀取一個包含MIME文件類型的文件,其文件名由TypesConfig
指令確定,默認(rèn)值是mime.types
。
Apache配置文件的每一行包含一個指令,在行尾使用反斜杠"\"可以表示續(xù)行,但是反斜杠與下一行之間不能有任何其他字符(包括空白字符)。
配置文件中的指令是不區(qū)分大小寫的,但是指令的參數(shù)(argument)通常是大小寫敏感的。以"#"開頭的行被視為注解并被忽略。注解不能出現(xiàn)在指令的后邊?瞻仔泻椭噶钋暗目瞻鬃址麑⒈缓雎,因此可以采用縮進(jìn)以保持配置層次的清晰。
可以用 apachectl configtest
或者命令行選項 -t
檢查配置文件中的錯誤,而無須啟動Apache服務(wù)器。
相關(guān)模塊 | 相關(guān)指令 |
---|---|
Apache是模塊化的服務(wù)器,這意味著核心中只包含實現(xiàn)最基本功能的模塊。擴(kuò)展功能可以作為模塊動態(tài)加載。默認(rèn)情況下,只有base組的模塊被編譯進(jìn)了服務(wù)器。如果服務(wù)器在編譯時包含了DSO模塊,那么各模塊可以獨(dú)立編譯,并可隨時用LoadModule
指令加載;否則,要增加或刪除模塊必須重新編譯整個Apache。用于特定模塊的指令可以用<IfModule>
指令包含起來,使之有條件地生效。
用命令行參數(shù) -l
可以查看已經(jīng)編譯到服務(wù)器中的模塊。
相關(guān)模塊 | 相關(guān)指令 |
---|---|
主配置文件中的指令對整個服務(wù)器都有效。如果你只想改變某一部分的配置,你可以把指令嵌入到<Directory>
、<DirectoryMatch>
、<Files>
、<FilesMatch>
、<Location>
、<LocationMatch>
配置段中,這樣就可以限制指令的作用域為文件系統(tǒng)中的某些位置或特定的URL。這些配置段還可以進(jìn)行嵌套,以進(jìn)行更精細(xì)的配置。
Apache還具備同時支持多個站點(diǎn)的能力,稱為虛擬主機(jī)。<VirtualHost>
配置段中的指令僅對該段中的特定站點(diǎn)(虛擬主機(jī))有效。
雖然大多數(shù)指令可以包含在任意的配置段中,但是某些指令僅在某些特定的范圍內(nèi)才有意義。比如,控制進(jìn)程建立的指令僅在主服務(wù)器范圍內(nèi)有效。要查詢一個指令可以被應(yīng)用于哪些配置段中,可以查看該指令的作用域項。更詳細(xì)資料可以查看配置段說明。
相關(guān)模塊 | 相關(guān)指令 |
---|---|
Apache可以使用分布在整個網(wǎng)站文件目錄樹結(jié)構(gòu)中的特殊文件來進(jìn)行分散配置,這些特殊的文件通常叫.htaccess
,但是也可以用AccessFileName
指令來改變它的名字。.htaccess
文件中指令的作用域是存放它的那個目錄及其所有子目錄。.htaccess
文件的語法與主配置文件相同。由于對每次請求都會讀取.htaccess
文件,所以對這些文件的修改會立即生效。
要了解一個指令是否可以用在.htaccess
文件中,可以查閱該指令的作用域項。服務(wù)器管理員可以在主配置文件中使用AllowOverride
指令來決定哪些指令可以在.htaccess
文件中生效。
有關(guān).htaccess
文件更詳細(xì)的資料,可以查看.htaccess 指南。