📄 configuring.html
字号:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="Apache, 中文, 手册, 中文版, 中文手册, 中文版手册, 参考手册, 中文参考手册, 金步国" />
<meta name="description" content="Apache 2.2 中文版参考手册" />
<meta name="author" content="金步国" />
<link href="./style/css/manual-zip.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-zip-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<title>配置文件 - Apache 2.2 中文版参考手册</title>
</head>
<body id="manual-page">
<div id="page-header"><p class="menu"><a href="./mod/index.html">模块索引</a> | <a href="./mod/directives.html">指令索引</a> | <a href="./faq/index.html">常见问题</a> | <a href="./glossary.html">词汇表</a> | <a href="./sitemap.html">站点导航</a></p><p class="apache">Apache HTTP Server 版本2.2</p><img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./index.html"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path"><a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">文档</a> > <a href="./index.html">版本2.2</a></div>
<div id="translation-info"> <a href="./translator_announcement.html#thanks">致谢</a> | <a href="./translator_announcement.html#announcement">译者声明</a> | 本篇译者:<a href="mailto:csfrank@citiz.net">金步国</a> | 本篇译稿最后更新:2006年1月1日 | <a href="./translator_announcement.html#last_new">获取最新版本</a></div>
<div id="page-content"><div id="preamble"><h1>配置文件</h1>
<p>本页阐述了Apache服务器的配置文件。</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="main" id="main">主配置文件</a></h2>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#AAAAAA" class="related">
<tr><th>相关模块</th><th>相关指令</th></tr>
<tr><td><ul><li><code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code></li><li><code class="directive"><a href="./mod/core.html#include">Include</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#typesconfig">TypesConfig</a></code></li></ul></td></tr>
</table>
<p>Apache的配置文件是包含若干<a href="mod/directives.html">指令</a>的纯文本文件。主配置文件通常叫<code>httpd.conf</code> ,其位置是编译时确定的,但可以用命令行参数 <code>-f</code> 来改变。另外,还可以用<code class="directive"><a href="./mod/core.html#include">Include</a></code>指令和通配符附加许多其他配置文件。任何配置文件都可以使用任何指令。只有在启动或重新启动Apache后,主配置文件的更改才会生效。</p>
<p>服务器还会读取一个包含MIME文件类型的文件,其文件名由<code class="directive"><a href="./mod/mod_mime.html#typesconfig">TypesConfig</a></code>指令确定,默认值是<code>mime.types</code> 。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="syntax" id="syntax">配置文件的语法</a></h2>
<p>Apache配置文件的每一行包含一个指令,在行尾使用反斜杠"\"可以表示续行,但是反斜杠与下一行之间不能有任何其他字符(包括空白字符)。</p>
<p>配置文件中的指令是不区分大小写的,但是指令的参数(argument)通常是大小写敏感的。以"#"开头的行被视为注解并被忽略。注解<strong>不能</strong>出现在指令的后边。空白行和指令前的空白字符将被忽略,因此可以采用缩进以保持配置层次的清晰。</p>
<p>可以用 <code>apachectl configtest</code> 或者命令行选项 <code>-t</code> 检查配置文件中的错误,而无须启动Apache服务器。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="modules" id="modules">模块</a></h2>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#AAAAAA" class="related">
<tr><th>相关模块</th><th>相关指令</th></tr>
<tr><td><ul><li><code class="module"><a href="./mod/mod_so.html">mod_so</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code></li><li><code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code></li></ul></td></tr>
</table>
<p>Apache是模块化的服务器,这意味着核心中只包含实现最基本功能的模块。扩展功能可以作为<a href="mod/index.html">模块</a>动态加载。默认情况下,只有<a href="mod/module-dict.html#Status">base</a>组的模块被编译进了服务器。如果服务器在编译时包含了<a href="dso.html">DSO模块</a>,那么各模块可以独立编译,并可随时用<code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code>指令加载;否则,要增加或删除模块必须重新编译整个Apache。用于特定模块的指令可以用<code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>指令包含起来,使之有条件地生效。</p>
<p>用命令行参数 <code>-l</code> 可以查看已经编译到服务器中的模块。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="scope" id="scope">指令的作用域</a></h2>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#AAAAAA" class="related">
<tr><th>相关模块</th><th>相关指令</th></tr>
<tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#directory"><Directory></a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#files"><Files></a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#location"><Location></a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code></li></ul></td></tr>
</table>
<p>主配置文件中的指令对整个服务器都有效。如果你只想改变某一部分的配置,你可以把指令嵌入到<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>、<code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>、<code class="directive"><a href="./mod/core.html#files"><Files></a></code>、<code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>、<code class="directive"><a href="./mod/core.html#location"><Location></a></code>、<code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code>配置段中,这样就可以限制指令的作用域为文件系统中的某些位置或特定的URL。这些配置段还可以进行嵌套,以进行更精细的配置。</p>
<p>Apache还具备同时支持多个站点的能力,称为<a href="vhosts/index.html">虚拟主机</a>。<code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>配置段中的指令仅对该段中的特定站点(虚拟主机)有效。</p>
<p>虽然大多数指令可以包含在任意的配置段中,但是某些指令仅在某些特定的范围内才有意义。比如,控制进程建立的指令仅在主服务器范围内有效。要查询一个指令可以被应用于哪些配置段中,可以查看该指令的<a href="mod/directive-dict.html#Context">作用域</a>项。更详细资料可以查看<a href="sections.html">配置段说明</a>。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="htaccess" id="htaccess">.htaccess 文件</a></h2>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#AAAAAA" class="related">
<tr><th>相关模块</th><th>相关指令</th></tr>
<tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code></li></ul></td></tr>
</table>
<p>Apache可以使用分布在整个网站文件目录树结构中的特殊文件来进行分散配置,这些特殊的文件通常叫<code>.htaccess</code> ,但是也可以用<code class="directive"><a href="./mod/core.html#accessfilename">AccessFileName</a></code>指令来改变它的名字。<code>.htaccess</code>文件中指令的作用域是存放它的那个目录及其所有子目录。<code>.htaccess</code>文件的语法与主配置文件相同。由于对每次请求都会读取<code>.htaccess</code>文件,所以对这些文件的修改会立即生效。</p>
<p>要了解一个指令是否可以用在<code>.htaccess</code>文件中,可以查阅该指令的<a href="mod/directive-dict.html#Context">作用域</a>项。服务器管理员可以在主配置文件中使用<code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code>指令来决定哪些指令可以在<code>.htaccess</code>文件中生效。</p>
<p>有关<code>.htaccess</code>文件更详细的资料,可以查看<a href="howto/htaccess.html">.htaccess 指南</a>。</p>
</div></div>
<div id="footer">
<p class="apache">本文允许自由使用、分发、转载,但必须保留译者署名;详见:<a href="./translator_announcement.html#announcement">译者声明</a>。</p>
<p class="menu"><a href="./mod/index.html">模块索引</a> | <a href="./mod/directives.html">指令索引</a> | <a href="./faq/index.html">常见问题</a> | <a href="./glossary.html">词汇表</a> | <a href="./sitemap.html">站点导航</a></p></div>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -