Apache HTTP Server 版本2.2

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