1.伺服器全域配置
ServerRoot
Apache伺服器安裝的目錄,eg——ServerRoot “D:/Apache2.2”
ServerAdmin
設定返回給用戶端錯誤資訊中的郵件地址,例如錯誤記錄檔裡面,eg——admin@fn.com
ServerName
設定伺服器主機名稱,主要用於Apache虛擬機器主機的配置,此時該選項會出現在 apache目錄/conf/extra/httpd-vhosts.conf
中,例如:
<VirtualHost *:80> ServerAdmin webmaster@dummy-host2.fn.com DocumentRoot "d:/mfeiniucom" ServerName m.feiniu.com ErrorLog logs/m.feiniu.com-error_log CustomLog logs/m.feiniu.com-access_log common <Directory "d:/mfeiniucom"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory></VirtualHost>
DocumentRoot
指定了httpd伺服的本地檔案目錄,eg——DocumentRoot “D:/Apache2.2/htdocs”
註:指定DocumentRoot時不能在最後加“/”
2、特定範圍
啟動/重啟有效 IfDefine
用於當運行包含條件的指令時執行的操作。例如:
<IfDefine ReverseProxy>LoadModule rewrite_module modules/mod_rewrite.soLoadModule proxy_module modules/libproxy.so</IfDefine>
即當調用 httpd -DReverseProxy…時,Apache會載入模組。 IfModule
用於當載入模組時執行的操作。例如;
<IfModule mod_mime_magic.c>MimeMagicFile conf/magic</IfModule>
只有在mod_mime_magic模組被啟用才執行內容操作。
註:IfModule需要配合使用LoadModule指令,並且IfModule要在LoadModule指令之後才可以。 IfVersion
當正在執行的伺服器版本與條件符合是才有效,例如:
<IfVersion >= 2.1># 僅在版本高於 2.1.0 的時候才生效</IfVersion>
註:以上三個配置也可以加上。條件。
範圍 Directory、DirectoryMatch
針對某一目錄及子目錄進行配置,例如:
<Directory "D:/Apache2.2/cgi-bin"> AllowOverride None Options None Order allow,deny Deny from All Allow from all</Directory>
AllowOverride:指明Apache伺服器是否去找.htacess檔案作為設定檔。設定為 None 時, .htaccess 檔案將被完全忽略;當此指令設定為 All 時,所有具有 “.htaccess” 範圍的指令都允許出現在 .htaccess 檔案中。
Options:目錄檔案顯示特徵,如果設定為Indexes,則URL訪問時是檔案目錄,而不是檔案內容;如果是MultiViews,則foo.txt檔案可以通過/foo來訪問到檔案等。
Order:用來控制目錄和檔案的訪問授權。最終許可權根據該選項中allow和deny的位置確定,具體的使用權限設定就是後面的Allow和Deny。上例中的最終許可權是全部不能訪問。(詳見http://www.cnblogs.com/top5/archive/2009/09/22/1571709.html)
註:Allow和Deny中間不能有空格。。。。 Files、FilesMatch
和Directory、DirectoryMatch類似。
3、日誌 ErrorLog
錯誤記錄檔存放的位置,例如:
ErrorLog logs/error.log
LogLevel
控制錯誤記錄檔的詳細程度,等級如下:
emerg 緊急(系統無法使用)
alert 必須立即採取措施
crit 致命情況
error 錯誤情況
warn 警告情況
notice 一般重要情況
info 普通訊息
debug 調試資訊
LogFormat
日誌格式,例如:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog
建立一個使用指定別名的新記錄檔,除非其檔案名稱是以斜杠開頭的絕對路徑,否則其路徑就是相對於ServerRoot的相對路徑,例如:
CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b"