1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
4 <TITLE>Definitions of terms used to describe Apache directives
7 <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
15 <!--#include virtual="header.html" -->
16 <H1 ALIGN="CENTER">Terms Used to Describe Apache Directives</H1>
19 Each Apache configuration directive is described using a common format
26 ><STRONG>Syntax:</STRONG></A> <EM>directive-name</EM> <EM>some args</EM>
31 ><STRONG>Default:</STRONG></A>
32 <SAMP><EM>directive-name default-value</EM></SAMP>
37 ><STRONG>Context:</STRONG></A> <EM>context-list</EM>
42 ><STRONG>Override:</STRONG></A> <EM>override</EM>
47 ><STRONG>Status:</STRONG></A> <EM>status</EM>
52 ><STRONG>Module:</STRONG></A> <EM>module-name</EM>
57 ><STRONG>Compatibility:</STRONG></A> <EM>compatibility notes</EM>
62 ><STRONG>Deprecated:</STRONG></A> <EM>see other</EM>
66 Each of the directive's attributes, complete with possible values
67 where possible, are described in this document.
70 <H2>Directive Terms</H2>
72 <LI><A HREF="#Syntax">Syntax</A>
74 <LI><A HREF="#Default">Default</A>
76 <LI><A HREF="#Context">Context</A>
78 <LI><A HREF="#Override">Override</A>
80 <LI><A HREF="#Status">Status</A>
82 <LI><A HREF="#Module">Module</A>
84 <LI><A HREF="#Compatibility">Compatibility</A>
86 <LI><A HREF="#Deprecated">Deprecated</A>
91 <H2><A NAME="Syntax">Syntax</A></H2>
93 This indicates the format of the directive as it would appear in a
94 configuration file. This syntax is extremely directive-specific,
95 and is described in detail in the directive's definition.
96 Generally, the directive name is followed by a series of one or
97 more space-separated arguments. If an argument contains a space,
98 the argument must be enclosed in double quotes. Optional arguments
99 are enclosed in square brackets. Where an argument can take on more
100 than one possible value, the possible values are separated by
101 vertical bars "|". Literal text is presented in the default font,
102 while argument-types for which substitution is necessary are
103 <em>emphasized</em>. Directives which can take a variable number of
104 arguments will end in "..." indicating that the last argument is
109 Directives use a great number of different argument types.
110 A few common ones are defined below.</p>
114 <dt><em>URL</em></dt>
116 <dd>A complete Uniform Resource Locator including a scheme, hostname,
117 and optional pathname as in
118 <code>http://www.example.com/path/to/file.html</code></dd>
120 <dt><em>URL-path</em><dt>
122 <dd>The part of a <em>url</em> which follows the scheme and hostname
123 as in <code>/path/to/file.html</code>. The <em>url-path</em>
124 represents a web-view of a resource, as opposed to a file-system
127 <dt><em>file-path</em></dt>
129 <dd>The path to a file in the local file-system beginning with the
131 <code>/usr/local/apache/htdocs/path/to/file.html</code>. Unless
132 otherwise specified, a <em>file-path</em> which does not begin with a
133 slash will be treated as relative to the <a
134 href="core.html#serverroot">ServerRoot</a>.</dd>
136 <dt><em>directory-path</em></dt>
138 <dd>The path to a directory in the local file-system beginning with
139 the root directory as in
140 <code>/usr/local/apache/htdocs/path/to/</code>.
142 <dt><em>filename</em></dt>
144 <dd>The name of a file with no accompanying path information as in
145 <code>file.html</code>.</dd>
147 <dt><em>regex</em></dt>
149 <dd>A regular expression, which is a way of describing a pattern to
150 match in text. The directive definition will specify what the
151 <em>regex</em> is matching against.</dd>
153 <dt><em>extension</em></dt>
155 <dd>In general, this is the part of the <em>filename</em> which
156 follows the last dot. However, Apache recognizes multiple filename
157 extensions, so if a <em>filename</em> contains more than one dot, each
158 dot-separated part of the filename following the first dot is an
159 <em>extension</em>. For example, the <em>filename</em>
160 <code>file.html.en</code> contains two extensions: <code>.html</code>
161 and <code>.en</code>. For Apache directives, you may specify
162 <em>extension</em>s with or without the leading dot. In addition,
163 <em>extension</em>s are not case sensitive.</dd>
165 <dt><em>MIME-type</em></dt>
167 <dd>A method of describing the format of a file which consists of a
168 major format type and a minor format type, separated by a slash
169 as in <code>text/html</code>.
171 <dt><em>env-variable</em></dt>
173 <dd>The name of an <a href="../env.html">environment variable</a>
174 defined in the Apache configuration process. Note this is not
175 necessarily the same as an operating system environment variable. See
176 the <a href="../env.html">environment variable documentation</a> for
182 <H2><A NAME="Default">Default</A></H2>
184 If the directive has a default value (<EM>i.e.</EM>, if you omit it
185 from your configuration entirely, the Apache Web server will behave as
186 though you set it to a particular value), it is described here. If
187 there is no default value, this section should say
188 "<EM>None</EM>". Note that the default listed here is not
189 necessarily the same as the value the directive takes in the
190 default httpd.conf distributed with the server.
194 <H2><A NAME="Context">Context</A></H2>
196 This indicates where in the server's configuration files the directive
197 is legal. It's a comma-separated list of one or more of the following
201 <DT><STRONG>server config</STRONG>
203 <DD>This means that the directive may be used in the server
204 configuration files (<EM>e.g.</EM>, <SAMP>httpd.conf</SAMP>,
205 <SAMP>srm.conf</SAMP>, and <SAMP>access.conf</SAMP>), but
206 <STRONG>not</STRONG> within any <SAMP><VirtualHost></SAMP> or
207 <Directory> containers. It is not allowed in
208 <SAMP>.htaccess</SAMP> files at all.
212 <DT><STRONG>virtual host</STRONG>
214 <DD>This context means that the directive may appear inside
215 <SAMP><VirtualHost></SAMP> containers in the server
220 <DT><STRONG>directory</STRONG>
222 <DD>A directive marked as being valid in this context may be used
223 inside <SAMP><Directory></SAMP>,
224 <SAMP><Location></SAMP>, and <SAMP><Files></SAMP>
225 containers in the server configuration files, subject to the
226 restrictions outlined in <A HREF="../sections.html">How Directory,
227 Location and Files sections work</A>.
231 <DT><STRONG>.htaccess</STRONG>
233 <DD>If a directive is valid in this context, it means that it can
234 appear inside <EM>per</EM>-directory <SAMP>.htaccess</SAMP> files.
235 It may not be processed, though depending upon the
246 The directive is <EM>only</EM> allowed within the designated context;
247 if you try to use it elsewhere, you'll get a configuration error that
248 will either prevent the server from handling requests in that context
249 correctly, or will keep the server from operating at all --
250 <EM>i.e.</EM>, the server won't even start.
253 The valid locations for the directive are actually the result of a
254 Boolean OR of all of the listed contexts. In other words, a directive
255 that is marked as being valid in "<SAMP>server config,
256 .htaccess</SAMP>" can be used in the <SAMP>httpd.conf</SAMP> file
257 and in <SAMP>.htaccess</SAMP> files, but not within any
258 <Directory> or <VirtualHost> containers.
262 <H2><A NAME="Override">Override</A></H2>
264 This directive attribute indicates which configuration override must
265 be active in order for the directive to be processed when it appears
266 in a <SAMP>.htaccess</SAMP> file. If the directive's
271 doesn't permit it to appear in <SAMP>.htaccess</SAMP> files, this
272 attribute should say "<EM>Not applicable</EM>".
275 Overrides are activated by the
277 HREF="core.html#allowoverride"
279 ><SAMP>AllowOverride</SAMP></A>
280 directive, and apply to a particular scope (such as a directory) and
281 all descendants, unless further modified by other
282 <SAMP>AllowOverride</SAMP> directives at lower levels. The
283 documentation for that directive also lists the possible override
288 <H2><A NAME="Status">Status</A></H2>
290 This indicates how tightly bound into the Apache Web server the
291 directive is; in other words, you may need to recompile the server
292 with an enhanced set of modules in order to gain access to the
293 directive and its functionality. Possible values for this attribute
297 <DT><STRONG>Core</STRONG>
299 <DD>If a directive is listed as having "Core" status, that
300 means it is part of the innermost portions of the Apache Web server,
301 and is always available.
305 <DT><STRONG>MPM</STRONG>
307 <DD>A directive labeled as having "MPM" status is
308 provided by a <a href="../mpm.html">Multi-Processing Module</a>.
309 This type of directive will be available if and only if you are
310 using one of the MPMs lised on the <a href="#Module">Module</a>
311 line of the directive definition.
315 <DT><STRONG>Base</STRONG>
317 <DD>A directive labeled as having "Base" status is
318 supported by one of the standard Apache modules which is compiled
319 into the server by default, and is therefore normally available
320 unless you've taken steps to remove the module from your configuration.
324 <DT><STRONG>Extension</STRONG>
326 <DD>A directive with "Extension" status is provided by one
327 of the modules included with the Apache server kit, but the module
328 isn't normally compiled into the server. To enable the directive
329 and its functionality, you will need to change the server build
330 configuration files and re-compile Apache.
334 <DT><STRONG>Experimental</STRONG>
336 <DD>"Experimental" status indicates that the directive is
337 available as part of the Apache kit, but you're on your own if you
338 try to use it. The directive is being documented for completeness,
339 and is not necessarily supported. The module which provides the
340 directive may or may not be compiled in by default; check the top of
341 the page which describes the directive and its module to see if it
342 remarks on the availability.
349 <H2><A NAME="Module">Module</A></H2>
351 This quite simply lists the name of the source module which defines
356 <H2><A NAME="Compatibility">Compatibility</A></H2>
358 If the directive wasn't part of the original Apache version 1
359 distribution, the version in which it was introduced should be listed
360 here. If the directive has the same name as one from the NCSA HTTPd
361 server, any inconsistencies in behaviour between the two should also
362 be mentioned. Otherwise, this attribute should say "<EM>No
363 compatibility issues.</EM>"
367 <H2><A NAME="Deprecated">Deprecated</A></H2>
369 If this directive is eliminated since the Apache version 1 distribution,
370 the directive or option that replaces the behavior should be cited here.
371 In general, directives, features, and options are only deprecated to
372 minimize debugging of conflicting features, or if the feature can only
373 continue to be supported in an alternate manner.
376 <!--#include virtual="footer.html" -->