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.so
LoadModule 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\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
- CustomLog
建立一个使用指定别名的新日志文件,除非其文件名是以斜杠开头的绝对路径,否则其路径就是相对于ServerRoot的相对路径,例如:
CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b"