]> granicus.if.org Git - apache/blob - docs/manual/mod/directive-dict.html.en
Point to the new FAQ.
[apache] / docs / manual / mod / directive-dict.html.en
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2 <HTML>
3  <HEAD>
4   <TITLE>Definitions of terms used to describe Apache directives
5   </TITLE>
6  </HEAD>
7 <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
8  <BODY
9   BGCOLOR="#FFFFFF"
10   TEXT="#000000"
11   LINK="#0000FF"
12   VLINK="#000080"
13   ALINK="#FF0000"
14  >
15 <!--#include virtual="header.html" -->
16   <H1 ALIGN="CENTER">Terms Used to Describe Apache Directives</H1>
17
18   <P>
19   Each Apache configuration directive is described using a common format
20   that looks like this:
21   </P>
22   <DL>
23    <DD><A
24         HREF="#Syntax"
25         REL="Help"
26        ><STRONG>Syntax:</STRONG></A> <EM>directive-name</EM> <EM>some args</EM>
27        <BR>
28        <A
29         HREF="#Default"
30         REL="Help"
31        ><STRONG>Default:</STRONG></A>
32         <SAMP><EM>directive-name default-value</EM></SAMP>
33        <BR>
34        <A
35         HREF="#Context"
36         REL="Help"
37        ><STRONG>Context:</STRONG></A> <EM>context-list</EM>
38        <BR>
39        <A
40         HREF="#Override"
41         REL="Help"
42        ><STRONG>Override:</STRONG></A> <EM>override</EM>
43        <BR>
44        <A
45         HREF="#Status"
46         REL="Help"
47        ><STRONG>Status:</STRONG></A> <EM>status</EM>
48        <BR>
49        <A
50         HREF="#Module"
51         REL="Help"
52        ><STRONG>Module:</STRONG></A> <EM>module-name</EM>
53        <BR>
54        <A
55         HREF="#Compatibility"
56         REL="Help"
57        ><STRONG>Compatibility:</STRONG></A> <EM>compatibility notes</EM>
58        <BR>
59        <A
60         HREF="#Deprecated"
61         REL="Help"
62        ><STRONG>Deprecated:</STRONG></A> <EM>see other</EM>
63    </DD>
64   </DL>
65   <P>
66   Each of the directive's attributes, complete with possible values
67   where possible, are described in this document.
68   </P>
69
70   <H2>Directive Terms</H2>
71   <UL>
72    <LI><A HREF="#Syntax">Syntax</A>
73    </LI>
74    <LI><A HREF="#Default">Default</A>
75    </LI>
76    <LI><A HREF="#Context">Context</A>
77    </LI>
78    <LI><A HREF="#Override">Override</A>
79    </LI>
80    <LI><A HREF="#Status">Status</A>
81    </LI>
82    <LI><A HREF="#Module">Module</A>
83    </LI>
84    <LI><A HREF="#Compatibility">Compatibility</A>
85    </LI>
86    <LI><A HREF="#Deprecated">Deprecated</A>
87    </LI>
88   </UL>
89
90   <HR>
91   <H2><A NAME="Syntax">Syntax</A></H2>
92   <P>
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
105   repeated.
106   </P>
107
108   <P>
109   Directives use a great number of different argument types.
110   A few common ones are defined below.</p>
111
112 <dl> 
113
114 <dt><em>URL</em></dt> 
115
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>
119
120 <dt><em>URL-path</em><dt>
121
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
125 view.</dd>
126
127 <dt><em>file-path</em></dt>
128
129 <dd>The path to a file in the local file-system beginning with the
130 root directory as in
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>
135
136 <dt><em>directory-path</em></dt>
137
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>.
141
142 <dt><em>filename</em></dt>
143
144 <dd>The name of a file with no accompanying path information as in
145 <code>file.html</code>.</dd>
146
147 <dt><em>regex</em></dt>
148
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>
152
153 <dt><em>extension</em></dt>
154
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>
164
165 <dt><em>MIME-type</em></dt>
166
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>.
170
171 <dt><em>env-variable</em></dt>
172
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
177 more details.</dd>
178  
179 </dl>
180
181   <HR>
182   <H2><A NAME="Default">Default</A></H2>
183   <P>
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   &quot;<EM>None</EM>&quot;.  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.
191   </P>
192
193   <HR>
194   <H2><A NAME="Context">Context</A></H2>
195   <P>
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
198   values:
199   </P>
200   <DL>
201    <DT><STRONG>server config</STRONG>
202    </DT>
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>&lt;VirtualHost&gt;</SAMP> or
207     &lt;Directory&gt; containers.  It is not allowed in
208     <SAMP>.htaccess</SAMP> files at all.
209     <P>
210     </P>
211    </DD>
212    <DT><STRONG>virtual host</STRONG>
213    </DT>
214    <DD>This context means that the directive may appear inside
215     <SAMP>&lt;VirtualHost&gt;</SAMP> containers in the server
216     configuration files.
217     <P>
218     </P>
219    </DD>
220    <DT><STRONG>directory</STRONG>
221    </DT>
222    <DD>A directive marked as being valid in this context may be used
223     inside <SAMP>&lt;Directory&gt;</SAMP>,
224     <SAMP>&lt;Location&gt;</SAMP>, and <SAMP>&lt;Files&gt;</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>.
228     <P>
229     </P>
230    </DD>
231    <DT><STRONG>.htaccess</STRONG>
232    </DT>
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
236     <A
237      HREF="#Override"
238      REL="Help"
239     >overrides</A>
240     currently active.
241     <P>
242     </P>
243    </DD>
244   </DL>
245   <P>
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.
251   </P>
252   <P>
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 &quot;<SAMP>server config,
256   .htaccess</SAMP>&quot; can be used in the <SAMP>httpd.conf</SAMP> file
257   and in <SAMP>.htaccess</SAMP> files, but not within any
258   &lt;Directory&gt; or &lt;VirtualHost&gt; containers.
259   </P>
260
261   <HR>
262   <H2><A NAME="Override">Override</A></H2>
263   <P>
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
267   <A
268    HREF="#Context"
269    REL="Help"
270   >context</A>
271   doesn't permit it to appear in <SAMP>.htaccess</SAMP> files, this
272   attribute should say &quot;<EM>Not applicable</EM>&quot;.
273   </P>
274   <P>
275   Overrides are activated by the
276   <A
277    HREF="core.html#allowoverride"
278    REL="Help"
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
284   names available.
285   </P>
286
287   <HR>
288   <H2><A NAME="Status">Status</A></H2>
289   <P>
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
294   are:
295   </P>
296   <DL>
297    <DT><STRONG>Core</STRONG>
298    </DT>
299    <DD>If a directive is listed as having &quot;Core&quot; status, that
300     means it is part of the innermost portions of the Apache Web server,
301     and is always available.
302     <P>
303     </P>
304    </DD>
305    <DT><STRONG>MPM</STRONG>
306    </DT>
307    <DD>A directive labeled as having &quot;MPM&quot; 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.
312     <P>
313     </P>
314    </DD>
315    <DT><STRONG>Base</STRONG>
316    </DT>
317    <DD>A directive labeled as having &quot;Base&quot; 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.
321     <P>
322     </P>
323    </DD>
324    <DT><STRONG>Extension</STRONG>
325    </DT>
326    <DD>A directive with &quot;Extension&quot; 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.
331     <P>
332     </P>
333    </DD>
334    <DT><STRONG>Experimental</STRONG>
335    </DT>
336    <DD>&quot;Experimental&quot; 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.
343     <P>
344     </P>
345    </DD>
346   </DL>
347
348   <HR>
349   <H2><A NAME="Module">Module</A></H2>
350   <P>
351   This quite simply lists the name of the source module which defines
352   the directive.
353   </P>
354
355   <HR>
356   <H2><A NAME="Compatibility">Compatibility</A></H2>
357   <P>
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 &quot;<EM>No
363   compatibility issues.</EM>&quot;
364   </P>
365
366   <HR>
367   <H2><A NAME="Deprecated">Deprecated</A></H2>
368   <P>
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.
374   </P>
375
376 <!--#include virtual="footer.html" -->
377  </BODY>
378 </HTML>