Return-Path: Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 14965 invoked by uid 500); 3 Oct 2002 00:53:49 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 14954 invoked by uid 500); 3 Oct 2002 00:53:49 -0000 Delivered-To: apmail-httpd-2.0-cvs@apache.org Date: 3 Oct 2002 00:53:48 -0000 Message-ID: <20021003005348.94063.qmail@icarus.apache.org> From: nd@apache.org To: httpd-2.0-cvs@apache.org Subject: cvs commit: httpd-2.0/docs/manual/style common.dtd X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N nd 2002/10/02 17:53:48 Modified: docs/manual/mod core.html.en core.xml quickreference.html.en docs/manual/style common.dtd Log: ok, starting this: turn bogus to also: - several markup improvements (I hope) - remove   from c&p examples, because: - if you want preformatted text, use
    - they may lead to invisible errors (\xA0 =  
      is not recognized by the config parser as whitespace)
  
  Revision  Changes    Path
  1.31      +445 -418  httpd-2.0/docs/manual/mod/core.html.en
  
  Index: core.html.en
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/mod/core.html.en,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- core.html.en	30 Sep 2002 13:01:23 -0000	1.30
  +++ core.html.en	3 Oct 2002 00:53:46 -0000	1.31
  @@ -59,16 +59,17 @@
       based on PATH_INFO.  The core handler would usually reject the
       request, so you can use the following configuration to enable
       such a script:

-

-<Files "mypaths.shtml">
- Options +Includes
- SetOutputFilter INCLUDES
- AcceptPathInfo on
-</Files> -

+ +
  +<Files "mypaths.shtml">
  +  Options +Includes
  +  SetOutputFilter INCLUDES
  +  AcceptPathInfo on
  +</Files>
+
top

AccessFileName Directive

Description: Name of the distributed configuration file
Syntax: - AccessFileName filename [filename] ...
Default: + AccessFileName filename [filename] ...
Default: AccessFileName .htaccess
Context: server config, virtual host
Status: Core
Module: @@ -79,9 +80,9 @@ configuration files are enabled for that directory. For example:

-

-AccessFileName .acl -

+

+ AccessFileName .acl +

before returning the document /usr/local/web/index.html, the server will read @@ -89,21 +90,19 @@ /usr/local/.acl and /usr/local/web/.acl for directives, unless they have been disabled with

-

-<Directory />
-��AllowOverride None
-</Directory> -

+
  +<Directory />
  +  AllowOverride None
  +</Directory>

See also

top

AddDefaultCharset Directive

Description: Default character set to be added for a response without an explicit character set
Syntax: - AddDefaultCharset On|Off|charset
Default: + AddDefaultCharset On|Off|charset
Default: AddDefaultCharset Off
Context: server config, virtual host, directory, .htaccess
Override: FileInfo
Status: Core
Module: core
-

This directive specifies the name of the character set that will be added to any response that does not have any parameter on the content type in the HTTP headers. This will override any @@ -113,16 +112,16 @@ functionality. AddDefaultCharset On enables Apache's internal default charset of iso-8859-1 as required by the directive. You can also specify an alternate - charset to be used. For example:

+ charset to be used. For example:

-

- AddDefaultCharset utf-8 -

+

+ AddDefaultCharset utf-8 +

top

AllowOverride Directive

Description: Types of directives that are allowed in .htaccess files
Syntax: - AllowOverride All|None|directive-type -[directive-type] ...
Default: + AllowOverride All|None|directive-type +[directive-type] ...
Default: AllowOverride All
Context: directory
Status: Core
Module: @@ -140,7 +139,7 @@ directive which has the .htaccess Context is allowed in .htaccess files.

-

The directive-type can be one of the following +

The directive-type can be one of the following groupings of directives.

@@ -187,11 +186,13 @@

Example:

-

AllowOverride AuthConfig Indexes

+

+ AllowOverride AuthConfig Indexes +

See also

top

AuthName Directive

Description: Authorization realm for use in HTTP authentication
Syntax: - AuthName auth-domain
Context: + AuthName auth-domain
Context: directory, .htaccess
Override: AuthConfig
Status: Core
Module: @@ -208,7 +209,9 @@

For example:

-

AuthName "Top Secret"

+

+ AuthName "Top Secret" +

The string provided for the AuthName is what will appear in the password dialog provided by most browsers.

@@ -264,9 +267,10 @@ message integrity check (MIC) of the entity-body. A proxy or client may check this header for detecting accidental modification of the entity-body in transit. Example header:

-

- Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== -

+ +

+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== +

Note that this can cause performance problems on your server since the message digest is computed on every request (the @@ -279,7 +283,7 @@

top

DefaultType Directive

Description: MIME content-type that will be sent if the server cannot determine a type in any other way
Syntax: - DefaultType MIME-type
Default: + DefaultType MIME-type
Default: DefaultType text/plain
Context: server config, virtual host, directory, .htaccess
Override: FileInfo
Status: @@ -293,9 +297,10 @@ document, so in the event of an unknown type it uses the DefaultType. For example:

-

- DefaultType image/gif -

+

+ DefaultType image/gif +

+

would be appropriate for a directory which contained many gif images with filenames missing the .gif extension.

@@ -306,7 +311,7 @@
top

<Directory> Directive

Description: Enclose a group of directives that apply only to the named file-system directory and sub-directories
Syntax: - <Directory directory-path> + <Directory directory-path> ... </Directory>
Context: server config, virtual host
Status: Core
Module: @@ -315,7 +320,7 @@ </Directory> are used to enclose a group of directives that will apply only to the named directory and sub-directories of that directory. Any directive that is allowed - in a directory context may be used. Directory-path is + in a directory context may be used. Directory-path is either the full path to a directory, or a wild-card string using Unix shell-style matching. In a wild-card string, `?' matches any single character, and `*' matches any sequences of characters. @@ -324,26 +329,29 @@ /*/public_html> will not match /home/user/public_html, but <Directory /home/*/public_html> will match. Example:

-

- <Directory /usr/local/httpd/htdocs>
-��Options Indexes FollowSymLinks
- </Directory>
-

- -
-

Be careful with the directory-path arguments: They have -to literally match the filesystem path which Apache uses to access the -files. Directives applied to a particular <Directory> will not -apply to files accessed from that same directory via a different path, -such as via different symbolic links.

-
+ +
  +<Directory /usr/local/httpd/htdocs>
  +  Options Indexes FollowSymLinks
  +</Directory>
+ +
+

Be careful with the directory-path arguments: + They have to literally match the filesystem path which Apache uses + to access the files. Directives applied to a particular + <Directory> will not apply to files accessed from that same + directory via a different path, such as via different symbolic + links.

+

Extended regular expressions can also be used, with the addition of the ~ character. For example:

-

- <Directory ~ "^/www/.*/[0-9]{3}"> -

+ +

+ <Directory ~ "^/www/.*/[0-9]{3}"> +

+

would match directories in /www/ that consisted of three numbers.

@@ -353,15 +361,15 @@ first, interspersed with the directives from the
.htaccess files. For example, with

-

- <Directory />
- ��AllowOverride None
- </Directory>
-
- <Directory /home/>
- ��AllowOverride FileInfo
- </Directory> -

+
  +<Directory />
  +  AllowOverride None
  +</Directory>
  +
  +<Directory /home/>
  +  AllowOverride FileInfo
  +</Directory>
+

for access to the document /home/web/dir/doc.html the steps are:

@@ -381,10 +389,10 @@ expressions are tested in the order they appeared in the configuration file. For example, with

-

<Directory ~ abc$>
- ... directives here ...
- </Directory>
-

+
  +<Directory ~ abc$>
  +  # ... directives here ...
  +</Directory>

The regular expression section won't be considered until after all normal <Directory>s and .htaccess files @@ -397,12 +405,11 @@ recommended that you change this with a block such as

-

- <Directory />
- ��Order Deny,Allow
- ��Deny from All
- </Directory> -

+
  +<Directory />
  +  Order Deny,Allow
  +  Deny from All
  +</Directory>

and then override this for directories you want accessible. See the Security Tips page for more @@ -419,7 +426,7 @@

Enclose directives that apply to file-system directories matching a regular expression and their subdirectories
Syntax: - <DirectoryMatch regex> + <DirectoryMatch regex> ... </Directory>
Context: server config, virtual host
Status: Core
Module: @@ -429,9 +436,10 @@ of directives which will apply only to the named directory and sub-directories of that directory, the same as <Directory>. However, it takes as an argument a regular expression. For example:

-

- <DirectoryMatch "^/www/.*/[0-9]{3}"> -

+ +

+ <DirectoryMatch "^/www/.*/[0-9]{3}"> +

would match directories in /www/ that consisted of three numbers.

@@ -442,7 +450,7 @@ combined when a request is received
top

DocumentRoot Directive

Description: Directory that forms the main document tree visible from the web
Syntax: - DocumentRoot directory-path
Default: + DocumentRoot directory-path
Default: DocumentRoot /usr/local/apache/htdocs
Context: server config, virtual host
Status: Core
Module: @@ -451,9 +459,11 @@ serve files. Unless matched by a directive like Alias, the server appends the path from the requested URL to the document root to make the path to the document. Example:

-

- DocumentRoot /usr/web -

+ +

+ DocumentRoot /usr/web +

+

then an access to http://www.my.host.com/index.html refers to /usr/web/index.html.

@@ -474,13 +484,12 @@ delivery. By default, when the handling of a request requires access to the data within a file-- for example, when delivering a server-parsed file using
mod_include-- Apache - memory-maps the file if the OS supports it. -

-

- This memory-mapping sometimes yields a performance improvement. + memory-maps the file if the OS supports it.

+ +

This memory-mapping sometimes yields a performance improvement. But in some environments, it is better to disable the memory-mapping - to prevent operational problems: -

+ to prevent operational problems:

+
  • On some multiprocessor systems, memory-mapping can reduce the performance of the httpd.
  • @@ -488,17 +497,17 @@ the httpd may crash due tof a segmentation fault if a file is deleted or truncated while the httpd has it memory-mapped.
-

- For server configurations that are vulnerable to these problems, - you should disable memory-mapping of delivered files by specifying: -

-

- EnableMMAP off -

+ +

For server configurations that are vulnerable to these problems, + you should disable memory-mapping of delivered files by specifying:

+ +

+ EnableMMAP off +

top

ErrorDocument Directive

Description: What the server will return to the client in case of an error
Syntax: - ErrorDocument error-code document
Context: + ErrorDocument error-code document
Context: server config, virtual host, directory, .htaccess
Override: FileInfo
Status: Core
Module: @@ -513,10 +522,10 @@
  • output a customized message
  • -
  • redirect to a local URL-path to handle the +
  • redirect to a local URL-path to handle the problem/error
  • -
  • redirect to an external URL to handle the +
  • redirect to an external URL to handle the problem/error
  • @@ -530,14 +539,12 @@ URL which the client can resolve. Alternatively, a message can be provided to be displayed by the browser. Examples:

    -

    - ErrorDocument 500 - http://foo.example.com/cgi-bin/tester
    - ErrorDocument 404 /cgi-bin/bad_urls.pl
    - ErrorDocument 401 /subscription_info.html
    - ErrorDocument 403 "Sorry can't allow you access - today" -

    +

    + ErrorDocument 500 http://foo.example.com/cgi-bin/tester
    + ErrorDocument 404 /cgi-bin/bad_urls.pl
    + ErrorDocument 401 /subscription_info.html
    + ErrorDocument 403 "Sorry can't allow you access today" +

    Note that when you specify an ErrorDocument that points to a remote URL (ie. anything with a method such as @@ -568,7 +575,7 @@

    See also

    top

    ErrorLog Directive

    Description: Location where the server will log errors
    Syntax: - ErrorLog file-path|syslog[:facility]
    Default: + ErrorLog file-path|syslog[:facility]
    Default: ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)
    Context: server config, virtual host
    Status: @@ -576,16 +583,16 @@ core

    The ErrorLog directive sets the name of the file to which the server will log any errors it encounters. If - the file-path does not begin with a slash (/) then it is - assumed to be relative to the ServerRoot. If the file-path + the file-path does not begin with a slash (/) then it is + assumed to be relative to the ServerRoot. If the file-path begins with a pipe (|) then it is assumed to be a command to spawn to handle the error log.

    Using syslog instead of a filename enables logging via syslogd(8) if the system supports it. The default is to use syslog facility local7, but you can override this by - using the syslog:facility syntax where - facility can be one of the names usually documented in + using the syslog:facility syntax where + facility can be one of the names usually documented in syslog(1).

    SECURITY: See the security tips @@ -595,7 +602,7 @@

    See also

    top

    FileETag Directive

    Description: File attributes used to create the ETag HTTP response header
    Syntax: - FileETag component ...
    Default: + FileETag component ...
    Default: FileETag INode MTime Size
    Context: server config, virtual host, directory, .htaccess
    Override: FileInfo
    Status: @@ -611,6 +618,7 @@ FileETag directive allows you to choose which of these -- if any -- should be used. The recognized keywords are:

    +
    INode
    The file's i-node number will be included in the calculation
    @@ -619,31 +627,29 @@
    Size
    The number of bytes in the file will be included
    All
    -
    All available fields will be used (equivalent to - 'FileETag�INode�MTime�Size')
    +
    All available fields will be used. This is equivalent to: +

    FileETag INode MTime Size

    None
    If a document is file-based, no ETag field will be included in the response
    -

    - The INode, MTime, and Size keywords may be prefixed with either '+' - or '-', which allow changes to be made to the default setting - inherited from a broader scope. Any keyword appearing without - such a prefix immediately and completely cancels the inherited - setting. -

    -

    - If a directory's configuration includes - 'FileETag�INode�MTime�Size', and a - subdirectory's includes 'FileETag�-INode', + +

    The INode, MTime, and Size + keywords may be prefixed with either + or -, + which allow changes to be made to the default setting inherited + from a broader scope. Any keyword appearing without such a prefix + immediately and completely cancels the inherited setting.

    + +

    If a directory's configuration includes + FileETag�INode�MTime�Size, and a + subdirectory's includes FileETag�-INode, the setting for that subdirectory (which will be inherited by any sub-subdirectories that don't override it) will be equivalent to - 'FileETag�MTime�Size'. -

    + FileETag�MTime�Size.

    top

    <Files> Directive

    Description: Contains directives that apply to matched filenames
    Syntax: - <Files filename> ... </Files>
    Context: + <Files filename> ... </Files>
    Context: server config, virtual host, directory, .htaccess
    Override: All
    Status: Core
    Module: @@ -663,14 +669,16 @@ inside <Directory> sections to restrict the portion of the filesystem they apply to.

    -

    The filename argument should include a filename, or +

    The filename argument should include a filename, or a wild-card string, where `?' matches any single character, and `*' matches any sequences of characters. Extended regular expressions can also be used, with the addition of the ~ character. For example:

    -

    - <Files ~ "\.(gif|jpe?g|png)$"> -

    + +

    + <Files ~ "\.(gif|jpe?g|png)$"> +

    +

    would match most common Internet graphics formats. In Apache 1.3 and later, <FilesMatch> is preferred, however.

    @@ -684,7 +692,7 @@ request is received
    top

    <FilesMatch> Directive

    Description: Contains directives that apply to regular-expression matched filenames
    Syntax: - <FilesMatch regex> ... </FilesMatch>
    Context: + <FilesMatch regex> ... </FilesMatch>
    Context: server config, virtual host, directory, .htaccess
    Override: All
    Status: Core
    Module: @@ -692,9 +700,10 @@

    The <FilesMatch> directive provides for access control by filename, just as the <Files> directive does. However, it accepts a regular expression. For example:

    -

    - <FilesMatch "\.(gif|jpe?g|png)$"> -

    + +

    + <FilesMatch "\.(gif|jpe?g|png)$"> +

    would match most common Internet graphics formats.

    See also

    top

    ForceType Directive

    Description: Forces all matching files to be served with the specified MIME content-type
    Syntax: - ForceType mime-type
    Context: + ForceType MIME-type
    Context: directory, .htaccess
    Override: FileInfo
    Status: Core
    Module: @@ -715,12 +724,13 @@ <Files> section, this directive forces all matching files to be served with the content type identification given by - mime-type. For example, if you had a directory full of + MIME-type. For example, if you had a directory full of GIF files, but did not want to label them all with ".gif", you might want to use:

    -

    - ForceType image/gif -

    + +

    + ForceType image/gif +

    Note that unlike DefaultType, this directive overrides all mime-type associations, including @@ -758,7 +768,7 @@ Heavily loaded sites should leave this directive off, since DNS lookups can take considerable amounts of time. The utility logresolve, provided in - the /support directory, can be used to look up host + the /support directory, can be used to look up host names from logged IP addresses offline.

    top

    IdentityCheck Directive

    Description: Enables logging of the RFC1413 identity of the remote @@ -785,86 +795,80 @@
    top

    <IfDefine> Directive

    Description: Encloses directives that will be processed only if a test is true at startup
    Syntax: - <IfDefine [!]parameter-name> ... + <IfDefine [!]parameter-name> ... </IfDefine>
    Context: server config, virtual host, directory, .htaccess
    Override: All
    Status: Core
    Module: core
    -

    The <IfDefine - test>...</IfDefine> section is used to - mark directives that are conditional. The directives within an - <IfDefine> section are only - processed if the test is true. If test is false, - everything between the start and end markers is ignored.

    +

    The <IfDefine test>...</IfDefine> + section is used to mark directives that are conditional. The + directives within an <IfDefine> + section are only processed if the test is true. If + test is false, everything between the start and end markers is + ignored.

    -

    The test in the <IfDefine> section directive can be one - of two forms:

    +

    The test in the <IfDefine> section directive can be one of two forms:

      -
    • parameter-name
    • +
    • parameter-name
    • -
    • !parameter-name
    • +
    • !parameter-name

    In the former case, the directives between the start and end markers are only processed if the parameter named - parameter-name is defined. The second format reverses + parameter-name is defined. The second format reverses the test, and only processes the directives if - parameter-name is not defined.

    + parameter-name is not defined.

    -

    The parameter-name argument is a define as given on - the httpd command line via - -Dparameter-, at the time the server was - started.

    +

    The parameter-name argument is a define as given on + the httpd command line via -Dparameter- + , at the time the server was started.

    <IfDefine> sections are nest-able, which can be used to implement simple multiple-parameter tests. Example:

    -
      -  $ httpd -DReverseProxy ...
       
      -  # httpd.conf
      -  <IfDefine ReverseProxy>
      +    
      +$ httpd -DReverseProxy ...
      +
      +# httpd.conf
      +<IfDefine ReverseProxy>
         LoadModule rewrite_module modules/mod_rewrite.so
         LoadModule proxy_module   modules/libproxy.so
      -  </IfDefine>
      -
    - +</IfDefine>
    top

    <IfModule> Directive

    Description: Encloses directives that are processed conditional on the presence of absence of a specific module
    Syntax: - <IfModule [!]module-name> ... + <IfModule [!]module-name> ... </IfModule>
    Context: server config, virtual host, directory, .htaccess
    Override: All
    Status: Core
    Module: core
    -

    The <IfModule - test>...</IfModule> section is used to - mark directives that are conditional on the presence of a - specific module. The directives within an - <IfModule> section are only - processed if the test is true. If test is false, - everything between the start and end markers is ignored.

    +

    The <IfModule test>...</IfModule> + section is used to mark directives that are conditional on the presence of a + specific module. The directives within an <IfModule> section are only processed if the test + is true. If test is false, everything between the start and + end markers is ignored.

    -

    The test in the <IfModule> section directive can be one - of two forms:

    +

    The test in the <IfModule> section directive can be one of two forms:

      -
    • module name
    • +
    • module name
    • -
    • !module name
    • +
    • !module name

    In the former case, the directives between the start and end - markers are only processed if the module named module - name is included in Apache -- either compiled in or - dynamically loaded using LoadModule. The second format - reverses the test, and only processes the directives if module - name is not included.

    + markers are only processed if the module named module + name is included in Apache -- either compiled in or + dynamically loaded using LoadModule. The second format reverses the test, + and only processes the directives if module name is + not included.

    -

    The module name argument is the file name of the +

    The module name argument is the file name of the module, at the time it was compiled. For example, mod_rewrite.c. If a module consists of several source files, use the name of the file containing the string @@ -882,7 +886,7 @@

    top

    Include Directive

    Description: Includes other configuration files from within the server configuration files
    Syntax: - Include file-path|directory-path
    Context: + Include file-path|directory-path
    Context: server config, virtual host, directory
    Status: Core
    Module: core
    @@ -900,37 +904,37 @@

    Examples:

    -

    - Include /usr/local/apache/conf/ssl.conf
    - Include /usr/local/apache/conf/vhosts/ -

    - -

    Or, providing paths relative to your ServerRoot - directory:

    - -

    - Include conf/ssl.conf
    - Include conf/vhosts/ -

    - -

    Make sure that an included directory does not contain any stray - files, such as editor temporary files, for example, as Apache will - attempt to read them in and use the contents as configuration - directives, which may cause the server to fail on start up. - Running apachectl configtest will give you a list of - the files that are being processed during the configuration - check:

    - -
      - root@host# apachectl configtest
      -  Processing config directory: /usr/local/apache/conf/vhosts
      -  Processing config file: /usr/local/apache/conf/vhosts/vhost1
      -  Processing config file: /usr/local/apache/conf/vhosts/vhost2
      - Syntax OK
      -
    +

    + Include /usr/local/apache/conf/ssl.conf
    + Include /usr/local/apache/conf/vhosts/ +

    + +

    Or, providing paths relative to your ServerRoot + directory:

    + +

    + Include conf/ssl.conf
    + Include conf/vhosts/ +

    + +

    Make sure that an included directory does not contain any stray + files, such as editor temporary files, for example, as Apache will + attempt to read them in and use the contents as configuration + directives, which may cause the server to fail on start up. + Running apachectl configtest will give you a list of + the files that are being processed during the configuration + check:

    + +

    + root@host# apachectl configtest
    + Processing config directory: /usr/local/apache/conf/vhosts
    + Processing config file: /usr/local/apache/conf/vhosts/vhost1
    + Processing config file: /usr/local/apache/conf/vhosts/vhost2
    + Syntax OK +

    -

    This will help in verifying that you are getting only the files - that you intended as part of your configuration.

    +

    This will help in verifying that you are getting only the files + that you intended as part of your configuration.

    See also

    top

    KeepAlive Directive

    Description: Enables HTTP persistent connections
    Syntax: KeepAlive on|off
    Default: @@ -960,7 +964,7 @@

    See also

    top

    KeepAliveTimeout Directive

    Description: Amount of time the server will wait for subsequent requests on a persistent connection
    Syntax: - KeepAliveTimeout seconds
    Default: + KeepAliveTimeout seconds
    Default: KeepAliveTimeout 15
    Context: server config, virtual host
    Status: Core
    Module: @@ -977,7 +981,7 @@
    top

    <Limit> Directive

    Description: Restrict enclosed access controls to only certain HTTP methods
    Syntax: - <Limit method [method] ... > ... + <Limit method [method] ... > ... </Limit>
    Context: server config, virtual host, directory, .htaccess
    Override: All
    Status: @@ -997,20 +1001,23 @@ example applies the access control only to the methods POST, PUT, and DELETE, leaving all other methods unprotected:

    -

    - <Limit POST PUT DELETE>
    - ��Require valid-user
    - </Limit>
    -

    -

    The method names listed can be one or more of: GET, POST, PUT, - DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, - MKCOL, COPY, MOVE, LOCK, and UNLOCK. The method name is - case-sensitive. If GET is used it will also restrict - HEAD requests.

    +
      +<Limit POST PUT DELETE>
      +  Require valid-user
      +</Limit>
    + +

    The method names listed can be one or more of: GET, + POST, PUT, DELETE, + CONNECT, OPTIONS, TRACE, + PATCH, PROPFIND, PROPPATCH, + MKCOL, COPY, MOVE, + LOCK, and UNLOCK. The method name is + case-sensitive. If GET is used it will also + restrict HEAD requests.

    top

    <LimitExcept> Directive

    Description: Restrict access controls to all HTTP methods except the named ones
    Syntax: - <LimitExcept method [method] ... > ... + <LimitExcept method [method] ... > ... </LimitExcept>
    Context: server config, virtual host, directory, .htaccess
    Override: All
    Status: @@ -1026,22 +1033,21 @@

    For example:

    -

    - <LimitExcept POST GET>
    - Require valid-user
    - <LimitExcept> -

    +
      +<LimitExcept POST GET>
      +  Require valid-user
      +<LimitExcept>
    top

    LimitRequestBody Directive

    Description: Restricts the total size of the HTTP request body sent from the client
    Syntax: - LimitRequestBody bytes
    Default: + LimitRequestBody bytes
    Default: LimitRequestBody 0
    Context: server config, virtual host, directory, .htaccess
    Override: All
    Status: Core
    Module: core
    -

    This directive specifies the number of bytes from 0 +

    This directive specifies the number of bytes from 0 (meaning unlimited) to 2147483647 (2GB) that are allowed in a request body. The default value is defined by the compile-time constant DEFAULT_LIMIT_REQUEST_BODY (0 as @@ -1070,18 +1076,18 @@ you might use the following directive:

    - LimitRequestBody 102400 + LimitRequestBody 102400

    top

    LimitRequestFields Directive

    Description: Limits the number of HTTP request header fields that will be accepted from the client
    Syntax: - LimitRequestFields number
    Default: + LimitRequestFields number
    Default: LimitRequestFields 100
    Context: server config
    Status: Core
    Module: core
    -

    Number is an integer from 0 (meaning unlimited) to +

    Number is an integer from 0 (meaning unlimited) to 32767. The default value is defined by the compile-time constant DEFAULT_LIMIT_REQUEST_FIELDS (100 as distributed).

    @@ -1107,18 +1113,18 @@

    For example:

    - LimitRequestFields 50 + LimitRequestFields 50

    top

    LimitRequestFieldSize Directive

    Description: Limits the size of the HTTP request header allowed from the client
    Syntax: - LimitRequestFieldsize bytes
    Default: + LimitRequestFieldsize bytes
    Default: LimitRequestFieldsize 8190
    Context: server config
    Status: Core
    Module: core
    -

    This directive specifies the number of bytes from 0 +

    This directive specifies the number of bytes from 0 to the value of the compile-time constant DEFAULT_LIMIT_REQUEST_FIELDSIZE (8190 as distributed) that will be allowed in an HTTP request @@ -1141,7 +1147,7 @@

    For example:

    - LimitRequestFieldSize 16380 + LimitRequestFieldSize 16380

    Under normal conditions, the value should not be changed from @@ -1150,12 +1156,12 @@
    top

    LimitRequestLine Directive

    Description: Limit the size of the HTTP request line that will be accepted from the client
    Syntax: - LimitRequestLine bytes
    Default: + LimitRequestLine bytes
    Default: LimitRequestLine 8190
    Context: server config
    Status: Core
    Module: core
    -

    This directive sets the number of bytes from 0 to +

    This directive sets the number of bytes from 0 to the value of the compile-time constant DEFAULT_LIMIT_REQUEST_LINE (8190 as distributed) that will be allowed on the HTTP request-line.

    @@ -1178,14 +1184,14 @@

    For example:

    - LimitRequestLine 16380 + LimitRequestLine 16380

    Under normal conditions, the value should not be changed from the default.
    top

    LimitXMLRequestBody Directive

    Description: Limits the size of an XML-based request body
    Syntax: - LimitXMLRequestBody number
    Default: + LimitXMLRequestBody number
    Default: LimitXMLRequestBody 1000000
    Context: server config, virtual host, directory, .htaccess
    Override: All
    Status: @@ -1197,7 +1203,7 @@

    Example:

    - LimitXMLRequestBody 0 + LimitXMLRequestBody 0

    top

    <Location> Directive

    Description: @@ -1234,9 +1240,10 @@

    Extended regular expressions can also be used, with the addition of the ~ character. For example:

    -

    - <Location ~ "/(extra|special)/data"> -

    + +

    + <Location ~ "/(extra|special)/data"> +

    would match URLs that contained the substring "/extra/data" or "/special/data". In Apache 1.3 and above, a new directive @@ -1249,31 +1256,33 @@ SetHandler directive. For example, to enable status requests, but allow them only from browsers at foo.com, you might use:

    -

    - <Location /status>
    - SetHandler server-status
    - Order Deny,Allow
    - Deny from all
    - Allow from .foo.com
    - </Location> -

    - -

    Note about / (slash)

    The slash character has -special meaning depending on where in a URL it appears. People may be -used to its behavior in the filesystem where multiple adjacent slashes -are frequently collapsed to a single slash (i.e., -/home///foo is the same as /home/foo). In -URL-space this is not necessarily true. The <LocationMatch> directive and the regex -version of <Location> require you -to explicitly specify multiple slashes if that is your intention. For -example, <LocationMatch ^/abc> would match the -request URL /abc but not the request URL -//abc. The (non-regex) <Location> directive behaves similarly when -used for proxy requests. But when (non-regex) <Location> is used for non-proxy requests it -will implicitly match multiple slashes with a single slash. For -example, if you specify <Location /abc/def> and the -request is to /abc//def then it will match.

    -
    + +
      +<Location /status>
      +  SetHandler server-status
      +  Order Deny,Allow
      +  Deny from all
      +  Allow from .foo.com
      +</Location>
    + +

    Note about / (slash)

    +

    The slash character has special meaning depending on where in a + URL it appears. People may be used to its behavior in the filesystem + where multiple adjacent slashes are frequently collapsed to a single + slash (i.e., /home///foo is the same as + /home/foo). In URL-space this is not necessarily true. + The <LocationMatch> + directive and the regex version of <Location> require you to explicitly specify multiple + slashes if that is your intention.

    + +

    For example, <LocationMatch ^/abc> would match + the request URL /abc but not the request URL + //abc. The (non-regex) <Location> directive behaves similarly when used for + proxy requests. But when (non-regex) <Location> is used for non-proxy requests it will + implicitly match multiple slashes with a single slash. For example, + if you specify <Location /abc/def> and the + request is to /abc//def then it will match.

    +

    See also

    Applies the enclosed directives only to regular-expression matching URLs
    Syntax: <LocationMatch - regex> ... </Location>
    Context: + regex> ... </Location>
    Context: server config, virtual host
    Status: Core
    Module: core

    The <LocationMatch> directive provides for access control by URL, in an identical manner to - <Location>. However, it takes a regular - expression as an argument instead of a simple string. For - example:

    -

    - <LocationMatch "/(extra|special)/data"> -

    + <Location>. However, + it takes a regular expression as an argument instead of a simple + string. For example:

    + +

    + <LocationMatch "/(extra|special)/data"> +

    -

    would match URLs that contained the substring "/extra/data" - or "/special/data".

    +

    would match URLs that contained the substring /extra/data + or /special/data.

    See also

    top

    LogLevel Directive

    Description: Controls the verbosity of the ErrorLog
    Syntax: - LogLevel level
    Default: + LogLevel level
    Default: LogLevel warn
    Context: server config, virtual host
    Status: Core
    Module: core

    LogLevel adjusts the verbosity of the messages recorded in the error logs (see ErrorLog directive). The following - levels are available, in order of decreasing + levels are available, in order of decreasing significance:

    @@ -1399,12 +1409,13 @@

    For example:

    -

    LogLevel notice

    - +

    + LogLevel notice +

    top
    Description: Number of requests allowed on a persistent connection
    Syntax: - MaxKeepAliveRequests number
    Default: + MaxKeepAliveRequests number
    Default: MaxKeepAliveRequests 100
    Context: server config, virtual host
    Status: Core
    Module: @@ -1418,21 +1429,25 @@

    For example:

    -

    MaxKeepAliveRequests 500

    +

    + MaxKeepAliveRequests 500 +

    top

    NameVirtualHost Directive

    Description: Designates an IP address for name-virtual hosting
    Syntax: - NameVirtualHost addr[:port]
    Context: + NameVirtualHost addr[:port]
    Context: server config
    Status: Core
    Module: core

    The NameVirtualHost directive is a required directive if you want to configure name-based virtual hosts.

    -

    Although addr can be hostname it is recommended - that you always use an IP address, e.g.

    +

    Although addr can be hostname it is recommended + that you always use an IP address, e.g.

    -

    NameVirtualHost 111.22.33.44

    +

    + NameVirtualHost 111.22.33.44 +

    With the NameVirtualHost directive you specify the IP address on which the server will receive requests @@ -1451,38 +1466,43 @@ don't define any VirtualHosts for that address).

    Optionally you can specify a port number on which the - name-based virtual hosts should be used, e.g.

    + name-based virtual hosts should be used, e.g.

    -

    NameVirtualHost 111.22.33.44:8080

    +

    + NameVirtualHost 111.22.33.44:8080 +

    -

    IPv6 addresses must be enclosed in square brackets, as shown - in the following example:

    +

    IPv6 addresses must be enclosed in square brackets, as shown + in the following example:

    -

    NameVirtualHost [fe80::a00:20ff:fea7:ccea]:8080

    +

    + NameVirtualHost [fe80::a00:20ff:fea7:ccea]:8080 +

    To receive requests on all interfaces, you can use an argument of *

    -

    NameVirtualHost *

    - -

    Argument to <VirtualHost> directive

    -

    Note that the argument to the <VirtualHost> directive must exactly -match the argument to the NameVirtualHost -directive.

    -

    -NameVirtualHost 1.2.3.4
    -<VirtualHost 1.2.3.4>
    -...
    -</VirtualHost>
    -

    -
    +

    + NameVirtualHost * +

    +

    Argument to <VirtualHost> directive

    +

    Note that the argument to the <VirtualHost> directive must + exactly match the argument to the NameVirtualHost directive.

    + +

    + NameVirtualHost 1.2.3.4
    + <VirtualHost 1.2.3.4>
    + # ...
    + </VirtualHost>
    +

    +

    See also

    top

    Options Directive

    Description: Configures what features are available in a particular directory
    Syntax: Options - [+|-]option [[+|-]option] ...
    Default: + [+|-]option [[+|-]option] ...
    Default: Options All
    Context: server config, virtual host, directory, .htaccess
    Override: Options
    Status: @@ -1491,7 +1511,7 @@

    The Options directive controls which server features are available in a particular directory.

    -

    option can be set to None, in which +

    option can be set to None, in which case none of the extra features are enabled, or one or more of the following:

    @@ -1510,13 +1530,14 @@
    - The server will follow symbolic links in this directory.
    - Note: even though the server follows the - symlink it does not change the pathname used to match - against
    <Directory> sections.
    - Note: this option gets ignored if set inside a - <Location> - section.
    + The server will follow symbolic links in this directory. +
    +

    Even though the server follows the symlink it does not + change the pathname used to match against <Directory> sections.

    +

    Note also, that this option gets ignored if set + inside a <Location> + section.

    +
    Includes
    @@ -1565,26 +1586,28 @@

    For example, without any + and - symbols:

    +
      +<Directory /web/docs>
      +  Options Indexes FollowSymLinks
      +</Directory>
      +
      +<Directory /web/docs/spec>
      +  Options Includes
      +</Directory>
    -

    <Directory /web/docs>
    - Options Indexes FollowSymLinks
    - </Directory>
    - <Directory /web/docs/spec>
    - Options Includes
    - </Directory> -

    then only Includes will be set for the /web/docs/spec directory. However if the second Options directive uses the + and - symbols:

    -

    - <Directory /web/docs>
    - Options Indexes FollowSymLinks
    - </Directory>
    - <Directory /web/docs/spec>
    - Options +Includes -Indexes
    - </Directory> -

    +
      +<Directory /web/docs>
      +  Options Indexes FollowSymLinks
      +</Directory>
      +
      +<Directory /web/docs/spec>
      +  Options +Includes -Indexes
      +</Directory>
    +

    then the options FollowSymLinks and Includes are set for the /web/docs/spec directory.

    @@ -1598,7 +1621,7 @@
    top

    Require Directive

    Description: Selects which authenticated users can access a resource
    Syntax: - Require entity-name [entity-name] ...
    Context: + Require entity-name [entity-name] ...
    Context: directory, .htaccess
    Override: AuthConfig
    Status: Core
    Module: @@ -1608,13 +1631,13 @@