diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2003-08-21 12:53:46 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2003-08-21 12:53:46 +0000 |
commit | 8d57b5ec76a164dbed4b00d95975a76997c7ad3b (patch) | |
tree | def359a6e90ead0724c26a69f182798fc7261c74 /usr.sbin/httpd/htdocs/manual | |
parent | b8d459573d3be993494b286780a529a788346255 (diff) |
import apache 1.3.28 and mod_ssl 2.8.15
Diffstat (limited to 'usr.sbin/httpd/htdocs/manual')
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/content-negotiation.html.en | 674 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/content-negotiation.html.html | 678 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/content-negotiation.html.ja.jis | 670 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/howto/htaccess.html | 6 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/mod/core.html.ja.jis | 4012 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/mod/mod_alias.html.html | 399 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/mod/mod_auth.html.html | 326 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.en | 417 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.html | 421 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.ja.jis | 419 |
10 files changed, 8019 insertions, 3 deletions
diff --git a/usr.sbin/httpd/htdocs/manual/content-negotiation.html.en b/usr.sbin/httpd/htdocs/manual/content-negotiation.html.en new file mode 100644 index 00000000000..fdb271b7565 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/content-negotiation.html.en @@ -0,0 +1,674 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" content="HTML Tidy, see www.w3.org" /> + + <title>Apache Content Negotiation</title> + </head> + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + + <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" + vlink="#000080" alink="#FF0000"> + <div align="CENTER"> + <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> + + <h3>Apache HTTP Server</h3> + </div> + + + + <h1 align="CENTER">Content Negotiation</h1> + + <p>Apache's support for content negotiation has been updated to + meet the HTTP/1.1 specification. It can choose the best + representation of a resource based on the browser-supplied + preferences for media type, languages, character set and + encoding. It is also implements a couple of features to give + more intelligent handling of requests from browsers which send + incomplete negotiation information.</p> + + <p>Content negotiation is provided by the <a + href="mod/mod_negotiation.html">mod_negotiation</a> module, + which is compiled in by default.</p> + <hr /> + + <h2>About Content Negotiation</h2> + + <p>A resource may be available in several different + representations. For example, it might be available in + different languages or different media types, or a combination. + One way of selecting the most appropriate choice is to give the + user an index page, and let them select. However it is often + possible for the server to choose automatically. This works + because browsers can send as part of each request information + about what representations they prefer. For example, a browser + could indicate that it would like to see information in French, + if possible, else English will do. Browsers indicate their + preferences by headers in the request. To request only French + representations, the browser would send</p> +<pre> + Accept-Language: fr +</pre> + + <p>Note that this preference will only be applied when there is + a choice of representations and they vary by language.</p> + + <p>As an example of a more complex request, this browser has + been configured to accept French and English, but prefer + French, and to accept various media types, preferring HTML over + plain text or other text types, and preferring GIF or JPEG over + other media types, but also allowing any other media type as a + last resort:</p> +<pre> + Accept-Language: fr; q=1.0, en; q=0.5 + Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, + image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1 +</pre> + Apache 1.2 supports 'server driven' content negotiation, as + defined in the HTTP/1.1 specification. It fully supports the + Accept, Accept-Language, Accept-Charset and Accept-Encoding + request headers. Apache 1.3.4 also supports 'transparent' + content negotiation, which is an experimental negotiation + protocol defined in RFC 2295 and RFC 2296. It does not offer + support for 'feature negotiation' as defined in these RFCs. + + <p>A <strong>resource</strong> is a conceptual entity + identified by a URI (RFC 2396). An HTTP server like Apache + provides access to <strong>representations</strong> of the + resource(s) within its namespace, with each representation in + the form of a sequence of bytes with a defined media type, + character set, encoding, etc. Each resource may be associated + with zero, one, or more than one representation at any given + time. If multiple representations are available, the resource + is referred to as <strong>negotiable</strong> and each of its + representations is termed a <strong>variant</strong>. The ways + in which the variants for a negotiable resource vary are called + the <strong>dimensions</strong> of negotiation.</p> + + <h2>Negotiation in Apache</h2> + + <p>In order to negotiate a resource, the server needs to be + given information about each of the variants. This is done in + one of two ways:</p> + + <ul> + <li>Using a type map (<em>i.e.</em>, a <code>*.var</code> + file) which names the files containing the variants + explicitly, or</li> + + <li>Using a 'MultiViews' search, where the server does an + implicit filename pattern match and chooses from among the + results.</li> + </ul> + + <h3>Using a type-map file</h3> + + <p>A type map is a document which is associated with the + handler named <code>type-map</code> (or, for + backwards-compatibility with older Apache configurations, the + mime type <code>application/x-type-map</code>). Note that to + use this feature, you must have a handler set in the + configuration that defines a file suffix as + <code>type-map</code>; this is best done with a</p> +<pre> + AddHandler type-map .var +</pre> + in the server configuration file. See the comments in the + sample config file for more details. + + <p>Type map files have an entry for each available variant; + these entries consist of contiguous HTTP-format header lines. + Entries for different variants are separated by blank lines. + Blank lines are illegal within an entry. It is conventional to + begin a map file with an entry for the combined entity as a + whole (although this is not required, and if present will be + ignored). An example map file is:</p> +<pre> + URI: foo + + URI: foo.en.html + Content-type: text/html + Content-language: en + + URI: foo.fr.de.html + Content-type: text/html;charset=iso-8859-2 + Content-language: fr, de +</pre> + If the variants have different source qualities, that may be + indicated by the "qs" parameter to the media type, as in this + picture (available as jpeg, gif, or ASCII-art): +<pre> + URI: foo + + URI: foo.jpeg + Content-type: image/jpeg; qs=0.8 + + URI: foo.gif + Content-type: image/gif; qs=0.5 + + URI: foo.txt + Content-type: text/plain; qs=0.01 +</pre> + + <p>qs values can vary in the range 0.000 to 1.000. Note that + any variant with a qs value of 0.000 will never be chosen. + Variants with no 'qs' parameter value are given a qs factor of + 1.0. The qs parameter indicates the relative 'quality' of this + variant compared to the other available variants, independent + of the client's capabilities. For example, a jpeg file is + usually of higher source quality than an ascii file if it is + attempting to represent a photograph. However, if the resource + being represented is an original ascii art, then an ascii + representation would have a higher source quality than a jpeg + representation. A qs value is therefore specific to a given + variant depending on the nature of the resource it + represents.</p> + + <p>The full list of headers recognized is:</p> + + <dl> + <dt><code>URI:</code></dt> + + <dd>uri of the file containing the variant (of the given + media type, encoded with the given content encoding). These + are interpreted as URLs relative to the map file; they must + be on the same server (!), and they must refer to files to + which the client would be granted access if they were to be + requested directly.</dd> + + <dt><code>Content-Type:</code></dt> + + <dd>media type --- charset, level and "qs" parameters may be + given. These are often referred to as MIME types; typical + media types are <code>image/gif</code>, + <code>text/plain</code>, or + <code>text/html; level=3</code>.</dd> + + <dt><code>Content-Language:</code></dt> + + <dd>The languages of the variant, specified as an Internet + standard language tag from RFC 1766 (<em>e.g.</em>, + <code>en</code> for English, <code>kr</code> for Korean, + <em>etc.</em>).</dd> + + <dt><code>Content-Encoding:</code></dt> + + <dd>If the file is compressed, or otherwise encoded, rather + than containing the actual raw data, this says how that was + done. Apache only recognizes encodings that are defined by an + <a href="mod/mod_mime.html#addencoding">AddEncoding</a> + directive. This normally includes the encodings + <code>x-compress</code> for compress'd files, and + <code>x-gzip</code> for gzip'd files. The <code>x-</code> + prefix is ignored for encoding comparisons.</dd> + + <dt><code>Content-Length:</code></dt> + + <dd>The size of the file. Specifying content lengths in the + type-map allows the server to compare file sizes without + checking the actual files.</dd> + + <dt><code>Description:</code></dt> + + <dd>A human-readable textual description of the variant. If + Apache cannot find any appropriate variant to return, it will + return an error response which lists all available variants + instead. Such a variant list will include the human-readable + variant descriptions.</dd> + </dl> + + <h3>Multiviews</h3> + + <p><code>MultiViews</code> is a per-directory option, meaning + it can be set with an <code>Options</code> directive within a + <code><Directory></code>, <code><Location></code> + or <code><Files></code> section in + <code>access.conf</code>, or (if <code>AllowOverride</code> is + properly set) in <code>.htaccess</code> files. Note that + <code>Options All</code> does not set <code>MultiViews</code>; + you have to ask for it by name.</p> + + <p>The effect of <code>MultiViews</code> is as follows: if the + server receives a request for <code>/some/dir/foo</code>, if + <code>/some/dir</code> has <code>MultiViews</code> enabled, and + <code>/some/dir/foo</code> does <em>not</em> exist, then the + server reads the directory looking for files named foo.*, and + effectively fakes up a type map which names all those files, + assigning them the same media types and content-encodings it + would have if the client had asked for one of them by name. It + then chooses the best match to the client's requirements.</p> + + <p><code>MultiViews</code> may also apply to searches for the + file named by the <code>DirectoryIndex</code> directive, if the + server is trying to index a directory. If the configuration + files specify</p> +<pre> + DirectoryIndex index +</pre> + then the server will arbitrate between <code>index.html</code> + and <code>index.html3</code> if both are present. If neither + are present, and <code>index.cgi</code> is there, the server + will run it. + + <p>If one of the files found when reading the directive is a + CGI script, it's not obvious what should happen. The code gives + that case special treatment --- if the request was a POST, or a + GET with QUERY_ARGS or PATH_INFO, the script is given an + extremely high quality rating, and generally invoked; otherwise + it is given an extremely low quality rating, which generally + causes one of the other views (if any) to be retrieved.</p> + + <h2>The Negotiation Methods</h2> + After Apache has obtained a list of the variants for a given + resource, either from a type-map file or from the filenames in + the directory, it invokes one of two methods to decide on the + 'best' variant to return, if any. It is not necessary to know + any of the details of how negotiation actually takes place in + order to use Apache's content negotiation features. However the + rest of this document explains the methods used for those + interested. + + <p>There are two negotiation methods:</p> + + <ol> + <li><strong>Server driven negotiation with the Apache + algorithm</strong> is used in the normal case. The Apache + algorithm is explained in more detail below. When this + algorithm is used, Apache can sometimes 'fiddle' the quality + factor of a particular dimension to achieve a better result. + The ways Apache can fiddle quality factors is explained in + more detail below.</li> + + <li><strong>Transparent content negotiation</strong> is used + when the browser specifically requests this through the + mechanism defined in RFC 2295. This negotiation method gives + the browser full control over deciding on the 'best' variant, + the result is therefore dependent on the specific algorithms + used by the browser. As part of the transparent negotiation + process, the browser can ask Apache to run the 'remote + variant selection algorithm' defined in RFC 2296.</li> + </ol> + + <h3>Dimensions of Negotiation</h3> + + <table> + <tr valign="top"> + <th>Dimension</th> + + <th>Notes</th> + </tr> + + <tr valign="top"> + <td>Media Type</td> + + <td>Browser indicates preferences with the Accept header + field. Each item can have an associated quality factor. + Variant description can also have a quality factor (the + "qs" parameter).</td> + </tr> + + <tr valign="top"> + <td>Language</td> + + <td>Browser indicates preferences with the Accept-Language + header field. Each item can have a quality factor. Variants + can be associated with none, one or more than one + language.</td> + </tr> + + <tr valign="top"> + <td>Encoding</td> + + <td>Browser indicates preference with the Accept-Encoding + header field. Each item can have a quality factor.</td> + </tr> + + <tr valign="top"> + <td>Charset</td> + + <td>Browser indicates preference with the Accept-Charset + header field. Each item can have a quality factor. Variants + can indicate a charset as a parameter of the media + type.</td> + </tr> + </table> + + <h3>Apache Negotiation Algorithm</h3> + + <p>Apache can use the following algorithm to select the 'best' + variant (if any) to return to the browser. This algorithm is + not further configurable. It operates as follows:</p> + + <ol> + <li>First, for each dimension of the negotiation, check the + appropriate <em>Accept*</em> header field and assign a + quality to each variant. If the <em>Accept*</em> header for + any dimension implies that this variant is not acceptable, + eliminate it. If no variants remain, go to step 4.</li> + + <li> + Select the 'best' variant by a process of elimination. Each + of the following tests is applied in order. Any variants + not selected at each test are eliminated. After each test, + if only one variant remains, select it as the best match + and proceed to step 3. If more than one variant remains, + move on to the next test. + + <ol> + <li>Multiply the quality factor from the Accept header + with the quality-of-source factor for this variant's + media type, and select the variants with the highest + value.</li> + + <li>Select the variants with the highest language quality + factor.</li> + + <li>Select the variants with the best language match, + using either the order of languages in the + Accept-Language header (if present), or else the order of + languages in the <code>LanguagePriority</code> directive + (if present).</li> + + <li>Select the variants with the highest 'level' media + parameter (used to give the version of text/html media + types).</li> + + <li>Select variants with the best charset media + parameters, as given on the Accept-Charset header line. + Charset ISO-8859-1 is acceptable unless explicitly + excluded. Variants with a <code>text/*</code> media type + but not explicitly associated with a particular charset + are assumed to be in ISO-8859-1.</li> + + <li>Select those variants which have associated charset + media parameters that are <em>not</em> ISO-8859-1. If + there are no such variants, select all variants + instead.</li> + + <li>Select the variants with the best encoding. If there + are variants with an encoding that is acceptable to the + user-agent, select only these variants. Otherwise if + there is a mix of encoded and non-encoded variants, + select only the unencoded variants. If either all + variants are encoded or all variants are not encoded, + select all variants.</li> + + <li>Select the variants with the smallest content + length.</li> + + <li>Select the first variant of those remaining. This + will be either the first listed in the type-map file, or + when variants are read from the directory, the one whose + file name comes first when sorted using ASCII code + order.</li> + </ol> + </li> + + <li>The algorithm has now selected one 'best' variant, so + return it as the response. The HTTP response header Vary is + set to indicate the dimensions of negotiation (browsers and + caches can use this information when caching the resource). + End.</li> + + <li><p>To get here means no variant was selected (because none + are acceptable to the browser). Return a 406 status (meaning + "No acceptable representation") with a response body + consisting of an HTML document listing the available + variants. Also set the HTTP Vary header to indicate the + dimensions of variance.</p> + + <p>You should be aware that the error message returned by Apache is + necessarily rather terse and might confuse some users (even though it + lists the available alternatives). If you want to avoid users seeing this + error page, you should organize your documents such that a document in a + default language (or with a default encoding etc.) is always returned if a + document is not available in any of the languages, encodings etc. the + browser asked for.</p> + + <p>In particular, if you want a document in a default language to + be returned if a document is not available in any of the languages + a browser asked for, you should create a document with no language + attribute set. See <a href="#nolanguage">Variants with no + Language</a> below for details.</p></li> + </ol> + + <h2><a id="better" name="better">Fiddling with Quality + Values</a></h2> + + <p>Apache sometimes changes the quality values from what would + be expected by a strict interpretation of the Apache + negotiation algorithm above. This is to get a better result + from the algorithm for browsers which do not send full or + accurate information. Some of the most popular browsers send + Accept header information which would otherwise result in the + selection of the wrong variant in many cases. If a browser + sends full and correct information these fiddles will not be + applied.</p> + + <h3>Media Types and Wildcards</h3> + + <p>The Accept: request header indicates preferences for media + types. It can also include 'wildcard' media types, such as + "image/*" or "*/*" where the * matches any string. So a request + including:</p> +<pre> + Accept: image/*, */* +</pre> + would indicate that any type starting "image/" is acceptable, + as is any other type (so the first "image/*" is redundant). + Some browsers routinely send wildcards in addition to explicit + types they can handle. For example: +<pre> + Accept: text/html, text/plain, image/gif, image/jpeg, */* +</pre> + The intention of this is to indicate that the explicitly listed + types are preferred, but if a different representation is + available, that is ok too. However under the basic algorithm, + as given above, the */* wildcard has exactly equal preference + to all the other types, so they are not being preferred. The + browser should really have sent a request with a lower quality + (preference) value for *.*, such as: +<pre> + Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01 +</pre> + The explicit types have no quality factor, so they default to a + preference of 1.0 (the highest). The wildcard */* is given a + low preference of 0.01, so other types will only be returned if + no variant matches an explicitly listed type. + + <p>If the Accept: header contains <em>no</em> q factors at all, + Apache sets the q value of "*/*", if present, to 0.01 to + emulate the desired behaviour. It also sets the q value of + wildcards of the format "type/*" to 0.02 (so these are + preferred over matches against "*/*". If any media type on the + Accept: header contains a q factor, these special values are + <em>not</em> applied, so requests from browsers which send the + correct information to start with work as expected.</p> + + <h3><a id="nolanguage" name="nolanguage">Variants with no Language</a></h3> + + <p>If some of the variants for a particular resource have a + language attribute, and some do not, those variants with no + language are given a very low language quality factor of + 0.001.</p> + + <p>The reason for setting this language quality factor for variant + with no language to a very low value is to allow for a default + variant which can be supplied if none of the other variants match + the browser's language preferences. This allows you to avoid users + seeing a "406" error page if their browser is set to only accept + languages which you do not offer for the resource that was + requested.</p> + + <p>For example, consider the situation with Multiviews enabled and + three variants:</p> + + <ul> + <li>foo.en.html, language en</li> + + <li>foo.fr.html, language en</li> + + <li>foo.html, no language</li> + </ul> + + <p>The meaning of a variant with no language is that it is always + acceptable to the browser. If the request is for <code>foo</code> + and the Accept-Language header includes either en or fr (or both) + one of foo.en.html or foo.fr.html will be returned. If the browser + does not list either en or fr as acceptable, foo.html will be + returned instead. If the client requests <code>foo.html</code> + instead, then no negotiation will occur since the exact match + will be returned. To avoid this problem, it is sometimes helpful + to name the "no language" variant <code>foo.html.html</code> to assure + that Multiviews and language negotiation will come into play.</p> + + <h2>Extensions to Transparent Content Negotiation</h2> + Apache extends the transparent content negotiation protocol + (RFC 2295) as follows. A new <code>{encoding ..}</code> element + is used in variant lists to label variants which are available + with a specific content-encoding only. The implementation of + the RVSA/1.0 algorithm (RFC 2296) is extended to recognize + encoded variants in the list, and to use them as candidate + variants whenever their encodings are acceptable according to + the Accept-Encoding request header. The RVSA/1.0 implementation + does not round computed quality factors to 5 decimal places + before choosing the best variant. + + <h2>Note on hyperlinks and naming conventions</h2> + + <p>If you are using language negotiation you can choose between + different naming conventions, because files can have more than + one extension, and the order of the extensions is normally + irrelevant (see <a href="mod/mod_mime.html">mod_mime</a> + documentation for details).</p> + + <p>A typical file has a MIME-type extension (<em>e.g.</em>, + <samp>html</samp>), maybe an encoding extension (<em>e.g.</em>, + <samp>gz</samp>), and of course a language extension + (<em>e.g.</em>, <samp>en</samp>) when we have different + language variants of this file.</p> + + <p>Examples:</p> + + <ul> + <li>foo.en.html</li> + + <li>foo.html.en</li> + + <li>foo.en.html.gz</li> + </ul> + + <p>Here some more examples of filenames together with valid and + invalid hyperlinks:</p> + + <table border="1" cellpadding="8" cellspacing="0"> + <tr> + <th>Filename</th> + + <th>Valid hyperlink</th> + + <th>Invalid hyperlink</th> + </tr> + + <tr> + <td><em>foo.html.en</em></td> + + <td>foo<br /> + foo.html</td> + + <td>-</td> + </tr> + + <tr> + <td><em>foo.en.html</em></td> + + <td>foo</td> + + <td>foo.html</td> + </tr> + + <tr> + <td><em>foo.html.en.gz</em></td> + + <td>foo<br /> + foo.html</td> + + <td>foo.gz<br /> + foo.html.gz</td> + </tr> + + <tr> + <td><em>foo.en.html.gz</em></td> + + <td>foo</td> + + <td>foo.html<br /> + foo.html.gz<br /> + foo.gz</td> + </tr> + + <tr> + <td><em>foo.gz.html.en</em></td> + + <td>foo<br /> + foo.gz<br /> + foo.gz.html</td> + + <td>foo.html</td> + </tr> + + <tr> + <td><em>foo.html.gz.en</em></td> + + <td>foo<br /> + foo.html<br /> + foo.html.gz</td> + + <td>foo.gz</td> + </tr> + </table> + + <p>Looking at the table above you will notice that it is always + possible to use the name without any extensions in a hyperlink + (<em>e.g.</em>, <samp>foo</samp>). The advantage is that you + can hide the actual type of a document rsp. file and can change + it later, <em>e.g.</em>, from <samp>html</samp> to + <samp>shtml</samp> or <samp>cgi</samp> without changing any + hyperlink references.</p> + + <p>If you want to continue to use a MIME-type in your + hyperlinks (<em>e.g.</em> <samp>foo.html</samp>) the language + extension (including an encoding extension if there is one) + must be on the right hand side of the MIME-type extension + (<em>e.g.</em>, <samp>foo.html.en</samp>).</p> + + <h2>Note on Caching</h2> + + <p>When a cache stores a representation, it associates it with + the request URL. The next time that URL is requested, the cache + can use the stored representation. But, if the resource is + negotiable at the server, this might result in only the first + requested variant being cached and subsequent cache hits might + return the wrong response. To prevent this, Apache normally + marks all responses that are returned after content negotiation + as non-cacheable by HTTP/1.0 clients. Apache also supports the + HTTP/1.1 protocol features to allow caching of negotiated + responses.</p> + + <p>For requests which come from a HTTP/1.0 compliant client + (either a browser or a cache), the directive + <tt>CacheNegotiatedDocs</tt> can be used to allow caching of + responses which were subject to negotiation. This directive can + be given in the server config or virtual host, and takes no + arguments. It has no effect on requests from HTTP/1.1 clients. + <hr /> + + <h3 align="CENTER">Apache HTTP Server</h3> + <a href="./"><img src="images/index.gif" alt="Index" /></a> + + </p> + </body> +</html> + diff --git a/usr.sbin/httpd/htdocs/manual/content-negotiation.html.html b/usr.sbin/httpd/htdocs/manual/content-negotiation.html.html new file mode 100644 index 00000000000..ea541120ab0 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/content-negotiation.html.html @@ -0,0 +1,678 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" content="HTML Tidy, see www.w3.org" /> + + <title>Apache Content Negotiation</title> + </head> + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + + <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" + vlink="#000080" alink="#FF0000"> + <div align="CENTER"> + <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> + + <h3>Apache HTTP Server</h3> + </div> + + + + <h1 align="CENTER">Content Negotiation</h1> + + <p>Apache's support for content negotiation has been updated to + meet the HTTP/1.1 specification. It can choose the best + representation of a resource based on the browser-supplied + preferences for media type, languages, character set and + encoding. It is also implements a couple of features to give + more intelligent handling of requests from browsers which send + incomplete negotiation information.</p> + + <p>Content negotiation is provided by the <a + href="mod/mod_negotiation.html">mod_negotiation</a> module, + which is compiled in by default.</p> + <hr /> + + <h2>About Content Negotiation</h2> + + <p>A resource may be available in several different + representations. For example, it might be available in + different languages or different media types, or a combination. + One way of selecting the most appropriate choice is to give the + user an index page, and let them select. However it is often + possible for the server to choose automatically. This works + because browsers can send as part of each request information + about what representations they prefer. For example, a browser + could indicate that it would like to see information in French, + if possible, else English will do. Browsers indicate their + preferences by headers in the request. To request only French + representations, the browser would send</p> +<pre> + Accept-Language: fr +</pre> + + <p>Note that this preference will only be applied when there is + a choice of representations and they vary by language.</p> + + <p>As an example of a more complex request, this browser has + been configured to accept French and English, but prefer + French, and to accept various media types, preferring HTML over + plain text or other text types, and preferring GIF or JPEG over + other media types, but also allowing any other media type as a + last resort:</p> +<pre> + Accept-Language: fr; q=1.0, en; q=0.5 + Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, + image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1 +</pre> + Apache 1.2 supports 'server driven' content negotiation, as + defined in the HTTP/1.1 specification. It fully supports the + Accept, Accept-Language, Accept-Charset and Accept-Encoding + request headers. Apache 1.3.4 also supports 'transparent' + content negotiation, which is an experimental negotiation + protocol defined in RFC 2295 and RFC 2296. It does not offer + support for 'feature negotiation' as defined in these RFCs. + + <p>A <strong>resource</strong> is a conceptual entity + identified by a URI (RFC 2396). An HTTP server like Apache + provides access to <strong>representations</strong> of the + resource(s) within its namespace, with each representation in + the form of a sequence of bytes with a defined media type, + character set, encoding, etc. Each resource may be associated + with zero, one, or more than one representation at any given + time. If multiple representations are available, the resource + is referred to as <strong>negotiable</strong> and each of its + representations is termed a <strong>variant</strong>. The ways + in which the variants for a negotiable resource vary are called + the <strong>dimensions</strong> of negotiation.</p> + + <h2>Negotiation in Apache</h2> + + <p>In order to negotiate a resource, the server needs to be + given information about each of the variants. This is done in + one of two ways:</p> + + <ul> + <li>Using a type map (<em>i.e.</em>, a <code>*.var</code> + file) which names the files containing the variants + explicitly, or</li> + + <li>Using a 'MultiViews' search, where the server does an + implicit filename pattern match and chooses from among the + results.</li> + </ul> + + <h3>Using a type-map file</h3> + + <p>A type map is a document which is associated with the + handler named <code>type-map</code> (or, for + backwards-compatibility with older Apache configurations, the + mime type <code>application/x-type-map</code>). Note that to + use this feature, you must have a handler set in the + configuration that defines a file suffix as + <code>type-map</code>; this is best done with a</p> +<pre> + AddHandler type-map .var +</pre> + in the server configuration file. See the comments in the + sample config file for more details. + + <p>Type map files have an entry for each available variant; + these entries consist of contiguous HTTP-format header lines. + Entries for different variants are separated by blank lines. + Blank lines are illegal within an entry. It is conventional to + begin a map file with an entry for the combined entity as a + whole (although this is not required, and if present will be + ignored). An example map file is:</p> +<pre> + URI: foo + + URI: foo.en.html + Content-type: text/html + Content-language: en + + URI: foo.fr.de.html + Content-type: text/html;charset=iso-8859-2 + Content-language: fr, de +</pre> + If the variants have different source qualities, that may be + indicated by the "qs" parameter to the media type, as in this + picture (available as jpeg, gif, or ASCII-art): +<pre> + URI: foo + + URI: foo.jpeg + Content-type: image/jpeg; qs=0.8 + + URI: foo.gif + Content-type: image/gif; qs=0.5 + + URI: foo.txt + Content-type: text/plain; qs=0.01 +</pre> + + <p>qs values can vary in the range 0.000 to 1.000. Note that + any variant with a qs value of 0.000 will never be chosen. + Variants with no 'qs' parameter value are given a qs factor of + 1.0. The qs parameter indicates the relative 'quality' of this + variant compared to the other available variants, independent + of the client's capabilities. For example, a jpeg file is + usually of higher source quality than an ascii file if it is + attempting to represent a photograph. However, if the resource + being represented is an original ascii art, then an ascii + representation would have a higher source quality than a jpeg + representation. A qs value is therefore specific to a given + variant depending on the nature of the resource it + represents.</p> + + <p>The full list of headers recognized is:</p> + + <dl> + <dt><code>URI:</code></dt> + + <dd>uri of the file containing the variant (of the given + media type, encoded with the given content encoding). These + are interpreted as URLs relative to the map file; they must + be on the same server (!), and they must refer to files to + which the client would be granted access if they were to be + requested directly.</dd> + + <dt><code>Content-Type:</code></dt> + + <dd>media type --- charset, level and "qs" parameters may be + given. These are often referred to as MIME types; typical + media types are <code>image/gif</code>, + <code>text/plain</code>, or + <code>text/html; level=3</code>.</dd> + + <dt><code>Content-Language:</code></dt> + + <dd>The languages of the variant, specified as an Internet + standard language tag from RFC 1766 (<em>e.g.</em>, + <code>en</code> for English, <code>kr</code> for Korean, + <em>etc.</em>).</dd> + + <dt><code>Content-Encoding:</code></dt> + + <dd>If the file is compressed, or otherwise encoded, rather + than containing the actual raw data, this says how that was + done. Apache only recognizes encodings that are defined by an + <a href="mod/mod_mime.html#addencoding">AddEncoding</a> + directive. This normally includes the encodings + <code>x-compress</code> for compress'd files, and + <code>x-gzip</code> for gzip'd files. The <code>x-</code> + prefix is ignored for encoding comparisons.</dd> + + <dt><code>Content-Length:</code></dt> + + <dd>The size of the file. Specifying content lengths in the + type-map allows the server to compare file sizes without + checking the actual files.</dd> + + <dt><code>Description:</code></dt> + + <dd>A human-readable textual description of the variant. If + Apache cannot find any appropriate variant to return, it will + return an error response which lists all available variants + instead. Such a variant list will include the human-readable + variant descriptions.</dd> + </dl> + + <h3>Multiviews</h3> + + <p><code>MultiViews</code> is a per-directory option, meaning + it can be set with an <code>Options</code> directive within a + <code><Directory></code>, <code><Location></code> + or <code><Files></code> section in + <code>access.conf</code>, or (if <code>AllowOverride</code> is + properly set) in <code>.htaccess</code> files. Note that + <code>Options All</code> does not set <code>MultiViews</code>; + you have to ask for it by name.</p> + + <p>The effect of <code>MultiViews</code> is as follows: if the + server receives a request for <code>/some/dir/foo</code>, if + <code>/some/dir</code> has <code>MultiViews</code> enabled, and + <code>/some/dir/foo</code> does <em>not</em> exist, then the + server reads the directory looking for files named foo.*, and + effectively fakes up a type map which names all those files, + assigning them the same media types and content-encodings it + would have if the client had asked for one of them by name. It + then chooses the best match to the client's requirements.</p> + + <p><code>MultiViews</code> may also apply to searches for the + file named by the <code>DirectoryIndex</code> directive, if the + server is trying to index a directory. If the configuration + files specify</p> +<pre> + DirectoryIndex index +</pre> + then the server will arbitrate between <code>index.html</code> + and <code>index.html3</code> if both are present. If neither + are present, and <code>index.cgi</code> is there, the server + will run it. + + <p>If one of the files found when reading the directive is a + CGI script, it's not obvious what should happen. The code gives + that case special treatment --- if the request was a POST, or a + GET with QUERY_ARGS or PATH_INFO, the script is given an + extremely high quality rating, and generally invoked; otherwise + it is given an extremely low quality rating, which generally + causes one of the other views (if any) to be retrieved.</p> + + <h2>The Negotiation Methods</h2> + After Apache has obtained a list of the variants for a given + resource, either from a type-map file or from the filenames in + the directory, it invokes one of two methods to decide on the + 'best' variant to return, if any. It is not necessary to know + any of the details of how negotiation actually takes place in + order to use Apache's content negotiation features. However the + rest of this document explains the methods used for those + interested. + + <p>There are two negotiation methods:</p> + + <ol> + <li><strong>Server driven negotiation with the Apache + algorithm</strong> is used in the normal case. The Apache + algorithm is explained in more detail below. When this + algorithm is used, Apache can sometimes 'fiddle' the quality + factor of a particular dimension to achieve a better result. + The ways Apache can fiddle quality factors is explained in + more detail below.</li> + + <li><strong>Transparent content negotiation</strong> is used + when the browser specifically requests this through the + mechanism defined in RFC 2295. This negotiation method gives + the browser full control over deciding on the 'best' variant, + the result is therefore dependent on the specific algorithms + used by the browser. As part of the transparent negotiation + process, the browser can ask Apache to run the 'remote + variant selection algorithm' defined in RFC 2296.</li> + </ol> + + <h3>Dimensions of Negotiation</h3> + + <table> + <tr valign="top"> + <th>Dimension</th> + + <th>Notes</th> + </tr> + + <tr valign="top"> + <td>Media Type</td> + + <td>Browser indicates preferences with the Accept header + field. Each item can have an associated quality factor. + Variant description can also have a quality factor (the + "qs" parameter).</td> + </tr> + + <tr valign="top"> + <td>Language</td> + + <td>Browser indicates preferences with the Accept-Language + header field. Each item can have a quality factor. Variants + can be associated with none, one or more than one + language.</td> + </tr> + + <tr valign="top"> + <td>Encoding</td> + + <td>Browser indicates preference with the Accept-Encoding + header field. Each item can have a quality factor.</td> + </tr> + + <tr valign="top"> + <td>Charset</td> + + <td>Browser indicates preference with the Accept-Charset + header field. Each item can have a quality factor. Variants + can indicate a charset as a parameter of the media + type.</td> + </tr> + </table> + + <h3>Apache Negotiation Algorithm</h3> + + <p>Apache can use the following algorithm to select the 'best' + variant (if any) to return to the browser. This algorithm is + not further configurable. It operates as follows:</p> + + <ol> + <li>First, for each dimension of the negotiation, check the + appropriate <em>Accept*</em> header field and assign a + quality to each variant. If the <em>Accept*</em> header for + any dimension implies that this variant is not acceptable, + eliminate it. If no variants remain, go to step 4.</li> + + <li> + Select the 'best' variant by a process of elimination. Each + of the following tests is applied in order. Any variants + not selected at each test are eliminated. After each test, + if only one variant remains, select it as the best match + and proceed to step 3. If more than one variant remains, + move on to the next test. + + <ol> + <li>Multiply the quality factor from the Accept header + with the quality-of-source factor for this variant's + media type, and select the variants with the highest + value.</li> + + <li>Select the variants with the highest language quality + factor.</li> + + <li>Select the variants with the best language match, + using either the order of languages in the + Accept-Language header (if present), or else the order of + languages in the <code>LanguagePriority</code> directive + (if present).</li> + + <li>Select the variants with the highest 'level' media + parameter (used to give the version of text/html media + types).</li> + + <li>Select variants with the best charset media + parameters, as given on the Accept-Charset header line. + Charset ISO-8859-1 is acceptable unless explicitly + excluded. Variants with a <code>text/*</code> media type + but not explicitly associated with a particular charset + are assumed to be in ISO-8859-1.</li> + + <li>Select those variants which have associated charset + media parameters that are <em>not</em> ISO-8859-1. If + there are no such variants, select all variants + instead.</li> + + <li>Select the variants with the best encoding. If there + are variants with an encoding that is acceptable to the + user-agent, select only these variants. Otherwise if + there is a mix of encoded and non-encoded variants, + select only the unencoded variants. If either all + variants are encoded or all variants are not encoded, + select all variants.</li> + + <li>Select the variants with the smallest content + length.</li> + + <li>Select the first variant of those remaining. This + will be either the first listed in the type-map file, or + when variants are read from the directory, the one whose + file name comes first when sorted using ASCII code + order.</li> + </ol> + </li> + + <li>The algorithm has now selected one 'best' variant, so + return it as the response. The HTTP response header Vary is + set to indicate the dimensions of negotiation (browsers and + caches can use this information when caching the resource). + End.</li> + + <li><p>To get here means no variant was selected (because none + are acceptable to the browser). Return a 406 status (meaning + "No acceptable representation") with a response body + consisting of an HTML document listing the available + variants. Also set the HTTP Vary header to indicate the + dimensions of variance.</p> + + <p>You should be aware that the error message returned by Apache is + necessarily rather terse and might confuse some users (even though it + lists the available alternatives). If you want to avoid users seeing this + error page, you should organize your documents such that a document in a + default language (or with a default encoding etc.) is always returned if a + document is not available in any of the languages, encodings etc. the + browser asked for.</p> + + <p>In particular, if you want a document in a default language to + be returned if a document is not available in any of the languages + a browser asked for, you should create a document with no language + attribute set. See <a href="#nolanguage">Variants with no + Language</a> below for details.</p></li> + </ol> + + <h2><a id="better" name="better">Fiddling with Quality + Values</a></h2> + + <p>Apache sometimes changes the quality values from what would + be expected by a strict interpretation of the Apache + negotiation algorithm above. This is to get a better result + from the algorithm for browsers which do not send full or + accurate information. Some of the most popular browsers send + Accept header information which would otherwise result in the + selection of the wrong variant in many cases. If a browser + sends full and correct information these fiddles will not be + applied.</p> + + <h3>Media Types and Wildcards</h3> + + <p>The Accept: request header indicates preferences for media + types. It can also include 'wildcard' media types, such as + "image/*" or "*/*" where the * matches any string. So a request + including:</p> +<pre> + Accept: image/*, */* +</pre> + would indicate that any type starting "image/" is acceptable, + as is any other type (so the first "image/*" is redundant). + Some browsers routinely send wildcards in addition to explicit + types they can handle. For example: +<pre> + Accept: text/html, text/plain, image/gif, image/jpeg, */* +</pre> + The intention of this is to indicate that the explicitly listed + types are preferred, but if a different representation is + available, that is ok too. However under the basic algorithm, + as given above, the */* wildcard has exactly equal preference + to all the other types, so they are not being preferred. The + browser should really have sent a request with a lower quality + (preference) value for *.*, such as: +<pre> + Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01 +</pre> + The explicit types have no quality factor, so they default to a + preference of 1.0 (the highest). The wildcard */* is given a + low preference of 0.01, so other types will only be returned if + no variant matches an explicitly listed type. + + <p>If the Accept: header contains <em>no</em> q factors at all, + Apache sets the q value of "*/*", if present, to 0.01 to + emulate the desired behaviour. It also sets the q value of + wildcards of the format "type/*" to 0.02 (so these are + preferred over matches against "*/*". If any media type on the + Accept: header contains a q factor, these special values are + <em>not</em> applied, so requests from browsers which send the + correct information to start with work as expected.</p> + + <h3><a id="nolanguage" name="nolanguage">Variants with no Language</a></h3> + + <p>If some of the variants for a particular resource have a + language attribute, and some do not, those variants with no + language are given a very low language quality factor of + 0.001.</p> + + <p>The reason for setting this language quality factor for variant + with no language to a very low value is to allow for a default + variant which can be supplied if none of the other variants match + the browser's language preferences. This allows you to avoid users + seeing a "406" error page if their browser is set to only accept + languages which you do not offer for the resource that was + requested.</p> + + <p>For example, consider the situation with Multiviews enabled and + three variants:</p> + + <ul> + <li>foo.en.html, language en</li> + + <li>foo.fr.html, language en</li> + + <li>foo.html, no language</li> + </ul> + + <p>The meaning of a variant with no language is that it is always + acceptable to the browser. If the request is for <code>foo</code> + and the Accept-Language header includes either en or fr (or both) + one of foo.en.html or foo.fr.html will be returned. If the browser + does not list either en or fr as acceptable, foo.html will be + returned instead. If the client requests <code>foo.html</code> + instead, then no negotiation will occur since the exact match + will be returned. To avoid this problem, it is sometimes helpful + to name the "no language" variant <code>foo.html.html</code> to assure + that Multiviews and language negotiation will come into play.</p> + + <h2>Extensions to Transparent Content Negotiation</h2> + Apache extends the transparent content negotiation protocol + (RFC 2295) as follows. A new <code>{encoding ..}</code> element + is used in variant lists to label variants which are available + with a specific content-encoding only. The implementation of + the RVSA/1.0 algorithm (RFC 2296) is extended to recognize + encoded variants in the list, and to use them as candidate + variants whenever their encodings are acceptable according to + the Accept-Encoding request header. The RVSA/1.0 implementation + does not round computed quality factors to 5 decimal places + before choosing the best variant. + + <h2>Note on hyperlinks and naming conventions</h2> + + <p>If you are using language negotiation you can choose between + different naming conventions, because files can have more than + one extension, and the order of the extensions is normally + irrelevant (see <a href="mod/mod_mime.html">mod_mime</a> + documentation for details).</p> + + <p>A typical file has a MIME-type extension (<em>e.g.</em>, + <samp>html</samp>), maybe an encoding extension (<em>e.g.</em>, + <samp>gz</samp>), and of course a language extension + (<em>e.g.</em>, <samp>en</samp>) when we have different + language variants of this file.</p> + + <p>Examples:</p> + + <ul> + <li>foo.en.html</li> + + <li>foo.html.en</li> + + <li>foo.en.html.gz</li> + </ul> + + <p>Here some more examples of filenames together with valid and + invalid hyperlinks:</p> + + <table border="1" cellpadding="8" cellspacing="0"> + <tr> + <th>Filename</th> + + <th>Valid hyperlink</th> + + <th>Invalid hyperlink</th> + </tr> + + <tr> + <td><em>foo.html.en</em></td> + + <td>foo<br /> + foo.html</td> + + <td>-</td> + </tr> + + <tr> + <td><em>foo.en.html</em></td> + + <td>foo</td> + + <td>foo.html</td> + </tr> + + <tr> + <td><em>foo.html.en.gz</em></td> + + <td>foo<br /> + foo.html</td> + + <td>foo.gz<br /> + foo.html.gz</td> + </tr> + + <tr> + <td><em>foo.en.html.gz</em></td> + + <td>foo</td> + + <td>foo.html<br /> + foo.html.gz<br /> + foo.gz</td> + </tr> + + <tr> + <td><em>foo.gz.html.en</em></td> + + <td>foo<br /> + foo.gz<br /> + foo.gz.html</td> + + <td>foo.html</td> + </tr> + + <tr> + <td><em>foo.html.gz.en</em></td> + + <td>foo<br /> + foo.html<br /> + foo.html.gz</td> + + <td>foo.gz</td> + </tr> + </table> + + <p>Looking at the table above you will notice that it is always + possible to use the name without any extensions in a hyperlink + (<em>e.g.</em>, <samp>foo</samp>). The advantage is that you + can hide the actual type of a document rsp. file and can change + it later, <em>e.g.</em>, from <samp>html</samp> to + <samp>shtml</samp> or <samp>cgi</samp> without changing any + hyperlink references.</p> + + <p>If you want to continue to use a MIME-type in your + hyperlinks (<em>e.g.</em> <samp>foo.html</samp>) the language + extension (including an encoding extension if there is one) + must be on the right hand side of the MIME-type extension + (<em>e.g.</em>, <samp>foo.html.en</samp>).</p> + + <h2>Note on Caching</h2> + + <p>When a cache stores a representation, it associates it with + the request URL. The next time that URL is requested, the cache + can use the stored representation. But, if the resource is + negotiable at the server, this might result in only the first + requested variant being cached and subsequent cache hits might + return the wrong response. To prevent this, Apache normally + marks all responses that are returned after content negotiation + as non-cacheable by HTTP/1.0 clients. Apache also supports the + HTTP/1.1 protocol features to allow caching of negotiated + responses.</p> + + <p>For requests which come from a HTTP/1.0 compliant client + (either a browser or a cache), the directive + <tt>CacheNegotiatedDocs</tt> can be used to allow caching of + responses which were subject to negotiation. This directive can + be given in the server config or virtual host, and takes no + arguments. It has no effect on requests from HTTP/1.1 clients. + <hr /> + + <h3 align="CENTER">Apache HTTP Server</h3> + <a href="./"><img src="images/index.gif" alt="Index" /></a> + + </p> + </body> +</html> + + + diff --git a/usr.sbin/httpd/htdocs/manual/content-negotiation.html.ja.jis b/usr.sbin/httpd/htdocs/manual/content-negotiation.html.ja.jis new file mode 100644 index 00000000000..481b1f379f8 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/content-negotiation.html.ja.jis @@ -0,0 +1,670 @@ +<?xml version="1.0" encoding="iso-2022-jp"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>Apache Content Negotiation</title> + </head> + <!-- English revision: 1.29 --> + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <body bgcolor="#ffffff" text="#000000" link="#0000ff" + vlink="#000080" alink="#ff0000"> + <div align="CENTER"> + <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> + + <h3>Apache HTTP Server</h3> + </div> + + + <h1 align="center">$B%3%s%F%s%H%M%4%7%(!<%7%g%s(B</h1> + + <p>Apache $B$N%3%s%F%s%H%M%4%7%(!<%7%g%s$N%5%]!<%H$O(B HTTP/1.1 + $B$N5,3J$K9g$&$h$&$K(B + $B99?7$5$l$^$7$?!#$=$l$K$h$j!"%V%i%&%6$K$h$jDs6!$5$l$?%a%G%#%"%?%$%W!"(B + $B8@8l!"%-%c%i%/%?%;%C%H$H!"%(%s%3!<%G%#%s%0$NM%@h=g0L$rMQ$$$F%j%=!<%9$N(B + $B0lHVNI$$I=8=J}K!$rA*Br$G$-$^$9!#$^$?!"IT40A4$J%M%4%7%(!<%7%g%sMQ$N>pJs$r(B + $BAw$C$F$/$k%V%i%&%6$+$i$N%j%/%(%9%H$r$h$jM%2m$K07$&$?$a$N5!G=$r(B + $B$$$/$D$+<BAu$7$F$$$^$9!#(B</p> + + <p>$B%3%s%F%s%H%M%4%7%(!<%7%g%s$O(B <a + href="mod/mod_negotiation.html">mod_negotiation</a> + $B%b%8%e!<%k$K$h$j(B + $BDs6!$5$l$F$$$F!"%G%U%)%k%H$GAH$_9~$^$l$F$$$^$9!#(B</p> + <hr /> + + <h2>$B%3%s%F%s%H%M%4%7%(!<%7%g%s$K$D$$$F(B</h2> + + <p>$B%j%=!<%9$O!"4v$D$+0[$J$C$?I=8=$GMxMQ$G$-$k>l9g$,$"$j$^$9!#(B + $B$?$H$($P!"0[$J$k8@8l$d0[$J$k%a%G%#%"%?%$%W!"$^$?$O$=$l$i$NAH$_9g$o$;$G(B + $BMxMQ$G$-$k$+$bCN$l$^$;$s!#$b$C$H$bE,$7$?A*Br$r$9$kJ}K!$N0l$D$K$O!"(B + $B%$%s%G%C%/%9%Z!<%8$r%f!<%6$K8+$;$F!"%f!<%6$KA*$s$G$b$i$&J}K!$,$"$j$^$9!#(B + $B$7$+$7!"%5!<%P$,<+F0E*$KA*$V$3$H$,$G$-$k>l9g$,B?$/$"$j$^$9!#(B + $B$3$l$O!"%V%i%&%6$,%j%/%(%9%H>pJsKh$N>pJs$N0lIt$K!"(B + $B$I$NI=8=$rSO9%$9$k$+$rAw$k$3$H$GF0:n$7$F$$$^$9!#(B + $B$?$H$($P%V%i%&%6$O!"2DG=$J$i%U%i%s%98l$G>pJs$r8+$?$$!"(B + $BIT2DG=$J$i$=$NBe$o$j$K1Q8l$G$b$h$$$H!"<+J,$NSO9%$rCN$i$;$k$3$H$,$G$-$^$9!#(B + $B%V%i%&%6$O%j%/%(%9%H$N%X%C%@$G<+J,$NM%@h798~$rCN$i$;$^$9!#(B + $B%U%i%s%98l$NI=8=$@$1$rMW5a$9$k>l9g$O!"%V%i%&%6$O0J2<$rAw$j$^$9!#(B</p> +<pre> + Accept-Language: fr +</pre> + + <p>$B$3$NM%@h798~$O!"A*Br2DG=$JI=8=$,B8:_$7$F!"(B + $B8@8l$K$h$C$FMM!9$JI=8=$,$"$k>l9g$K$N$_E,MQ$5$l$k(B + $B$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#(B</p> + + <p>$B$b$C$HJ#;($J%j%/%(%9%H$NNc$r5s$2$^$7$g$&!#(B + $B$3$N%V%i%&%6$O%U%i%s%98l$H1Q8l$r<u$1IU$1$k!"(B + $B$7$+$7%U%i%s%98l$r9%$`!"$=$7$FMM!9$J%a%G%#%"%?%$%W$r<u$1IU$1$k$,!"(B + $B%W%l%$%s%F%-%9%H$dB>$N%?%$%W$h$j$O(B HTML $B$r9%$`!"(B + $BB>$N%a%G%#%"%?%$%W$h$j$O(B GIF $B$d(B JPEG $B$r9%$`!"$7$+$7:G=*<jCJ$H$7$F(B + $BB>$N%a%G%#%"%?%$%W$b<u$1IU$1$k!"$H$$$&$h$&$K@_Dj$5$l$F$$$^$9!#(B + </p> +<pre> + Accept-Language: fr; q=1.0, en; q=0.5 + Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, + image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1 +</pre> + + <p>Apache 1.2 $B$O(B HTTP/1.1 $B$N5,3J$GDj5A$5$l$F$$$k(B 'server driven' + $B%3%s%F%s%H%M%4%7%(!<%7%g%s$r%5%]!<%H$7$F$$$^$9!#(B + Accept, Accept-Language, Accept-Charset, Accept-Encoding + $B%j%/%(%9%H%X%C%@$r40A4$K%5%]!<%H$7$F$$$^$9!#(BApache 1.3.4 $B$O(B + RFC 2295 $B$H(B RFC 2296 + $B$GDj5A$5$l$F$$$k<B83E*$J%M%4%7%(!<%7%g%s%W%m%H%3%k$G$"$k!"(B + 'transparent' $B$b%5%]!<%H$7$F$$$^$9!#$=$l$i$N(B RFC $B$GDj5A$5$l$F$$$k(B + 'feature negotiation' $B$O%5%]!<%H$7$F$$$^$;$s!#(B</p> + + <p><strong>$B%j%=!<%9(B</strong>$B$H$O(B URI + $B$GFCDj$5$l$k35G0>e$N$b$N$N$3$H$G$9(B (RFC 2396)$B!#(B Apache + $B$N$h$&$J(B HTTP $B%5!<%P$O!"$=$NL>A06u4V$NCf$G$N(B + $B%j%=!<%9$N(B<strong>$BI=8=(B</strong>$B$X$N%"%/%;%9$rDs6!$7$^$9!#(B + $B$=$l$>$l$NI=8=$ODj5A$5$l$?%a%G%#%"%?%$%W!"J8;z%;%C%H!"(B + $B%(%s%3!<%G%#%s%0Ey$NIUB0$7$?!"%P%$%HNs$N7A<0$G$9!#(B + $B$=$l$>$l$N%j%=!<%9$O$"$k;~E@$G(B 0 $B8D!"(B1 $B8D!"$=$l0J>e$NI=8=$H(B + $B4XO"IU$1$i$l$k2DG=@-$,$"$j$^$9!#J#?t$NI=8=$,MxMQ$G$-$k>l9g$O!"(B + $B%j%=!<%9$O(B<strong>$B%M%4%7%(!<%7%g%s2DG=$G$"$k(B</strong>$B$H$5$l!"(B + $B8D!9$NI=8=$O(B <strong>variant</strong> $B$H8F$P$l$^$9!#(B + $B%M%4%7%(!<%7%g%s2DG=$J%j%=!<%9$N(B variant $B$,0[$J$k!"$=$N>uBV$r;X$7$F!"(B + $B%M%4%7%(!<%7%g%s$N(B<strong>$B<!85(B</strong>$B$H8F$S$^$9!#(B</p> + + <h2>Apache $B$K$*$1$k%M%4%7%(!<%7%g%s(B</h2> + + <p>$B%j%=!<%9$r%M%4%7%(!<%7%g%s$9$k$?$a$K$O!"%5!<%P$O$=$l$>$l$N(B + variant $B$K$D$$$F$N>pJs$rCN$C$F$*$/I,MW$,$"$j$^$9!#(B + $B$3$l$O0J2<$NFs$D$NJ}K!$N$I$A$i$+$G9T$o$l$^$9!#(B</p> + + <ul> + <li>$B%?%$%W%^%C%W(B (<em>$B$9$J$o$A(B</em>$B!"(B<code>*.var</code> $B%U%!%$%k(B) + $B$r;H$&J}K!!#$3$l$O!"(Bvariant + $B$rL@<(E*$K5s$2$F$$$k%U%!%$%k$r;XDj$7$^$9!#(B</li> + + <li>'Multiviews' $B$r;H$C$F!"(B + $B%5!<%P$,0EL[$NFb$K%U%!%$%kL>$K%Q%?!<%s>H9g$r(B + $B9T$J$C$F$=$N7k2L$+$iA*Br$9$kJ}K!!#(B</li> + </ul> + + <h3>type-map $B%U%!%$%k$r;H$&(B</h3> + + <p>$B%?%$%W%^%C%W$O(B <code>type-map</code> $B%O%s%I%i(B ($B$b$7$/$O!"8E$$(B + Apache $B$N@_Dj$K>e0L8_49$H$J$k$?$a$K0];}$5$l$F$$$k(B mime $B%?%$%W(B + <code>application/x-type-map</code>) + $B$K4XO"IU$1$i$l$?%I%-%e%a%s%H$G$9!#(B + $B$3$N5!G=$r;H$&$?$a$K$O!"$"$k%U%!%$%k$N3HD%;R$r(B + <code>type-map</code> + $B$H$7$FDj5A$9$k%O%s%I%i$r@_Dj%U%!%$%k$G@_Dj$9$k(B + $BI,MW$,$"$k$3$H$KCm0U$7$F$/$@$5$$!#$3$l$O(B</p> +<pre> + AddHandler type-map .var +</pre> + <p> + $B$r%5!<%P$N@_Dj$K=q$/$3$H$,0lHVNI$$J}K!$G$9!#(B + $B>\:Y$O%5%s%W%k$N@_Dj%U%!%$%k$N%3%a%s%H$r;2>H$7$F$/$@$5$$!#(B</p> + + <p>$B%?%$%W%^%C%W%U%!%$%k$K$O$=$l$>$l$N(B variant + $B$K$D$$$F$N%(%s%H%j$,$"$j$^$9!#$3$l$i$N%(%s%H%j$OO"B3$7$?(B HTTP + $B$N%X%C%@9T$+$i@.$j$^$9!#JL$N(B variant $B$N%(%s%H%j$H$O6u9T$G(B + $BJ,$1$i$l$F$$$^$9!#%(%s%H%jCf$K6u9T$,$"$C$F$O$$$1$^$;$s!#(B + $B%^%C%W%U%!%$%k$OA4BN$N%(%s%F%#%F%#$r$/$C$D$1$?7A$G;O$a$k$N$,(B + $B=,47$H$J$C$F$$$^$9(B + ($B$3$l$OMW5a$5$l$F$$$k$o$1$G$O$J$/!"$b$7$"$C$?>l9g$OL5;k$5$l$^$9(B)$B!#(B + $B$?$H$($P!"%^%C%W%U%!%$%k$O$3$N$h$&$K$J$j$^$9(B:</p> +<pre> + URI: foo + + URI: foo.en.html + Content-type: text/html + Content-language: en + + URI: foo.fr.de.html + Content-type: text/html;charset=iso-8859-2 + Content-language: fr, de +</pre> + + <p>variant $B$NIJ<A$,0c$&$H$-$O!"$3$N2hA|$N$h$&$K(B (JPEG, GIF, ASCII + $B%"!<%H$,$"$j$^$9(B) $B%a%G%#%"%?%$%W$N(B "qs" + $B%Q%i%a!<%?$H$7$F;XDj$5$l$^$9!#(B</p> +<pre> + URI: foo + + URI: foo.jpeg + Content-type: image/jpeg; qs=0.8 + + URI: foo.gif + Content-type: image/gif; qs=0.5 + + URI: foo.txt + Content-type: text/plain; qs=0.01 +</pre> + + <p>qs $BCM$NHO0O$O(B 0.000 $B$+$i(B 1.000 $B$G$9!#(Bqs $BCM$,(B 0.000 $B$N(B variant + $B$O7h$7$FA*Br$5$l$J$$$3$H$KCm0U$7$F$/$@$5$$!#(B'qs' $BCM$N$J$$(B + variant $B$O(B qs $BCM(B 1.0 $B$r(B $BM?$($i$l$^$9!#(Bqs + $B%Q%i%a!<%?$O%/%i%$%"%s%H$NG=NO$K4X78L5$/!"B>$N(B variant + $B$HHf3S$7$?$H$-$N(B variant $B$NAjBPE*$J!VIJ<A!W$r<($7$^$9!#$?$H$($P!"(B + $B<L??$rI=8=$7$h$&$H$7$F$$$k$H$-$O(B JPEG $B%U%!%$%k$NJ}$,IaDL$O(B + ASCII $B%U%!%$%k$h$j$b9b$$IJ<A$K$J$j$^$9!#(B $B$7$+$7!"%j%=!<%9$,85!9(B + ASCII $B%"!<%H$GI=8=$5$l$F$$$k$H$-$O!"(Bascii $B%U%!%$%k$NJ}$,(B + JPEG $B%U%!%$%k$h$j$b9b$$IJ<A$K$J$j$^$9!#$3$N$h$&$K!"(Bqs + $B$OI=8=$5$l$k%j%=!<%9$N@-<A$K$h$C$F(B variant + $BKh$KFCM-$NCM$r<h$j$^$9!#(B</p> + + <p>$BG'<1$5$l$k%X%C%@$N40A4$J0lMw$O0J2<$N$h$&$K$J$j$^$9(B:</p> + + <dl> + <dt><code>URI:</code></dt> + + <dd>($BM?$($i$l$?%a%G%#%"%?%$%W$N$b$N$G!"M?$($i$l$?(B content + encoding $B$G%(%s%3!<%I$5$l$?(B) variant $B$N%U%!%$%k$N(B URI + $B!#%^%C%W%U%!%$%k$+$i$NAjBP(B URL $B$H$7$F2r<a$5$l$^$9!#(B + $BF1$8%5!<%P>e$K$"$kI,MW$,$"$j!"(B + $BD>@\MW5a$5$l$?$H$-$K%/%i%$%"%s%H$,%"%/%;%9$r(B + $BG'$a$i$l$F$$$k%U%!%$%k$r;2>H$7$F$$$J$1$l$P$J$j$^$;$s!#(B</dd> + + <dt><code>Content-Type:</code></dt> + + <dd>$B%a%G%#%"%?%$%W(B --- charset, level, "qs" + $B%Q%i%a!<%?$r;XDj$9$k$3$H$,$G$-$^$9!#$3$l$i$O$7$P$7$P(B MIME + $B%?%$%W$H8F$P$l$^$9!#E57?E*$J%a%G%#%"%?%$%W$O(B + <code>image/gif</code>, <code>text/plain</code>, + <code>text/html; level=3</code> $B$G$9!#(B</dd> + + <dt><code>Content-Language:</code></dt> + + <dd>RFC 1766 $B$N%$%s%?!<%M%C%HI8=`8@8l%?%0$G;XDj$5$l$?!"(Bvariant + $B$N8@8l!#(B (<em>$B$?$H$($P(B</em>$B!"1Q8l$O(B + <code>en</code>$B!"(B $B4Z9q8l$O(B <code>kr</code>, + <em>$BEy(B</em>)$B!#(B</dd> + + <dt><code>Content-Encoding:</code></dt> + + <dd>$B@8$N%G!<%?$G$O$J$/!"%U%!%$%k$,05=L$5$l$F$$$?$j!"(B + $B%(%s%3!<%I$5$l$?$j$7$F$$$k$H$-$K!"(B + $B$I$N$h$&$K$=$l$,$J$5$l$F$$$k$+$r;XDj$7$^$9!#(B + Apache $B$O(B <a href="mod/mod_mime.html#addencoding">AddEncoding</a> + $B%G%#%l%/%F%#%V$GDj5A$5$l$?%(%s%3!<%G%#%s%0$N$_$rG'<1$7$^$9!#DL>o$O(B + compress $B$5$l$?%U%!%$%k$N$?$a$N(B <code>x-compress</code> $B$d(B + gzip $B$5$l$?%U%!%$%k$N$?$a$N(B <code>x-gzip</code> + $B$N$h$&$J%(%s%3!<%G%#%s%0$r4^$_$^$9!#(B + $B%(%s%3!<%G%#%s%0$NHf3S;~$K$O@\F,<-(B <code>x-</code> + $B$OL5;k$5$l$^$9!#(B</dd> + + <dt><code>Content-Length:</code></dt> + + <dd>$B%U%!%$%k$N%5%$%:!#%?%$%W%^%C%W$G(B content length $B$r;XDj$9$k$H!"(B + $B%5!<%P$,<B:]$N%U%!%$%k$rD4$Y$:$K(B + $B%U%!%$%k$N%5%$%:$rHf3S$9$k$3$H$,$G$-$^$9!#(B</dd> + + <dt><code>Description:</code></dt> + + <dd>$B?M4V$,FI$a$k(B variant $B$r@bL@$7$?J8>O!#(BApache $B$,E,@Z$J(B variant + $B$r8+$D$1$i$l$J$+$C$?>l9g$O!"$9$Y$F$N2DG=$J(B variant + $B$N0lMw$r5s$2$k%(%i!<1~Ez$rJV$7$^$9!#$=$N(B variant + $B0lMw$O?M4V$,FI$a$k(B variant $B$N(B $B@bL@$r4^$_$^$9!#(B</dd> + </dl> + + <h3>Multiviews</h3> + + <p><code>MultiViews</code> $B$O%G%#%l%/%H%jKh$N%*%W%7%g%s$G!"(B + <code><Directory></code>, <code><Location></code>, + <code><Files></code> $B$d!"(B(<code>AllowOverride</code> + $B$,E,@Z$JCM$K@_Dj$5$l$F$$$k$H(B) <code>.htaccess</code> + $B%U%!%$%k$G(B <code>Options</code> + $B%G%#%l%/%F%#%V$K$h$C$F@_Dj$9$k$3$H$,$G$-$^$9!#(B<code>Options + All</code> $B$O(B <code>MultiViews</code> + $B$r@_Dj$7$J$$$3$H$KCm0U$7$F$/$@$5$$!#(B + $BL@<(E*$K$=$NL>A0$r=q$/I,MW$,$"$j$^$9!#(B</p> + + <p><code>MultiViews</code> $B$N8z2L$O0J2<$N$h$&$K$J$j$^$9(B: + $B%5!<%P$,(B <code>/some/dir/foo</code> $B$X$N%j%/%(%9%H$r<u$1<h$j!"(B + <code>/some/dir/foo</code> $B$,B8:_(B<em>$B$7$J$$(B</em>$B>l9g!"(B + $B%5!<%P$O%G%#%l%/%H%j$rFI$s$G!"(B<code>foo.*</code> + $B$K$"$F$O$^$k$9$Y$F$N%U%!%$%k$rC5$7!"(B + $B;v<B>e$=$l$i$N%U%!%$%k$r%^%C%W$9$k%?%$%W%^%C%W$r:n$j$^$9!#(B + $B$=$N$H$-!"%a%G%#%"%?%$%W$H%3%s%F%s%H%(%s%3!<%G%#%s%0$O!"(B + $B$=$N%U%!%$%kL>$rD>@\;XDj$7$?$H$-$HF1$8$b$N$,3d$jEv$F$i$l$^$9!#(B + $B$=$l$+$i%/%i%$%"%s%H$NMW5a$K$b$C$H$b9g$&$b$N$rA*$S!"(B + $B$=$N%I%-%e%a%s%H$rJV$7$^$9!#(B</p> + + <p>$B%5!<%P$,%G%#%l%/%H%j$N:w0z$r:n$m$&$H$7$F$$$k$H!"(B + <code>MultiViews</code> $B$O(B <code>DirectoryIndex</code> + $B%G%#%l%/%F%#%V$G;XDj$5$l$?L>A0$NC5:w$K$bE,MQ$5$l$^$9!#(B + $B@_Dj%U%!%$%k$K(B</p> + +<pre> + DirectoryIndex index +</pre> + + <p>$B$,=q$+$l$F$$$F!"(B<code>index.html</code> $B$H(B + <code>index.html3</code> $B$,N>J}B8:_$7$F$$$k$H!"(B + $B%5!<%P$O$=$NCf$+$iKh2s$I$A$i$+$rE,Ev$KA*$S$^$9!#(B + $B$b$7$=$NN>J}$,B8:_$;$:$K(B <code>index.cgi</code> + $B$,B8:_$7$F$$$k$H!"%5!<%P$O$=$l$r<B9T$7$^$9!#(B</p> + + <p>$B%G%#%l%/%H%j$rFI$s$G$$$k$H$-$K8+$D$+$C$?%U%!%$%k$K(B CGI + $B%9%/%j%W%H$,$"$C$?>l9g$O!"2?$,5/$3$k$Y$-$+$O<+L@$G$O$"$j$^$;$s!#(B + $B$=$N$h$&$J>l9g$O%3!<%I$OFCJL$J07$$$r$7$F$$$^$9!#%j%/%(%9%H$,(B + POST $B$+(B QUERY_ARGS $B$d(B PATH_INFO $B$N$"$k(B GET + $B$N>l9g$O!"%9%/%j%W%H$KHs>o$K9b$$IJ<A$,M?$($i$l!"(B + $BDL>o$=$l$,5/F0$5$l$^$9!#$=$NB>$N%j%/%(%9%H$N$H$-$O!"%9%/%j%W%H$K$O(B + $BHs>o$KDc$$IJ<A$,M?$($i$l!"B>$N$b$N$,(B($B$b$7$"$l$P(B)$B<hF@$5$l$^$9!#(B</p> + + <h2>$B%M%4%7%(!<%7%g%sJ}K!(B</h2> + + <p>Apache $B$,%?%$%W%^%C%W%U%!%$%k$+%G%#%l%/%H%j$N%U%!%$%kL>$+$i(B + $B%j%=!<%9$N(B variant $B$N0lMw$r<hF@$7$?$i!"!V:GA1!W$N(B variant + $B$rA*$V$?$a$K(B $BFs$D$NJ}K!$N$I$A$i$+$r5/F0$7$^$9!#(BApache + $B$N%3%s%F%s%H%M%4%7%(!<%7%g%s$N5!G=$r;H$&$?$a$K!"(B + $B$I$N$h$&$K%M%4%7%(!<%7%g%s$,9T$J$o$l$k$+$N>\:Y$rCN$kI,MW$O(B + $B$"$j$^$;$s!#(B + $B$7$+$7!"$3$l0J9_$G$O4X?4$N$"$k?M$N$?$a$K$=$NJ}K!$r@bL@$7$^$9!#(B</p> + + <p>$B%M%4%7%(!<%7%g%sJ}K!$OFs$D$"$j$^$9!#(B</p> + + <ol> + <li>$BDL>o$O(B <strong>Apache $B$N%"%k%4%j%:%`$rMQ$$$?(B Server + driven negotiation</strong> $B$,;HMQ$5$l$^$9!#(BApache + $B$N%"%k%4%j%:%`$O8e$G>\:Y$K@bL@$5$l$F$$$^$9!#(B + $B$3$N%"%k%4%j%:%`$,;HMQ$5$l$?>l9g!"(BApache + $B$O$h$jNI$$7k2L$K$J$k$h$&$K!"FCDj$N<!85$K$*$$$FIJ<A$NCM$r(B + $B!VJQ$($k!W$3$H$,$G$-$^$9!#(BApache + $B$,IJ<A$NCM$rJQ$($kJ}K!$O8e$G>\:Y$K@bL@$5$l$F$$$^$9!#(B</li> + + <li>RFC 2295 + $B$GDj5A$5$l$F$$$k5!9=$rMQ$$$F%V%i%&%6$,FC$K;XDj$7$?>l9g!"(B + <strong>transparent content negotiation</strong> + $B$,;HMQ$5$l$^$9!#$3$N%M%4%7%(!<%7%g%sJ}K!$G$O!"%V%i%&%6$,!V:GA1!W$N(B + variant $B$N7hDj$r40A4$K@)8f$9$k$3$H$,$G$-$^$9!#(B + $B$G$9$+$i!"7k2L$O%V%i%&%6$,;HMQ$7$F$$$k%"%k%4%j%:%`$K0MB8$7$^$9!#(B + Transparent negotiation $B$N=hM}$N2aDx$G!"%V%i%&%6$O(B RFC 2296 + $B$GDj5A$5$l$F$$$k(B 'remote variant selection algorithm' + $B$r<B9T$9$k$h$&$KMj$`$3$H$,$G$-$^$9!#(B</li> + </ol> + + <h3>$B%M%4%7%(!<%7%g%s$N<!85(B</h3> + + <table> + <tr valign="top"> + <th>Dimension</th> + + <th>Notes</th> + </tr> + + <tr valign="top"> + <td>$B%a%G%#%"%?%$%W(B</td> + + <td>Accept $B%X%C%@%U%#!<%k%I$G%V%i%&%6$K$h$j<($5$l$k!#(B + $B$=$l$>$l$N9`L\$OIJ<A78?t$r;}$D$3$H$,=PMh$^$9!#(B + variant $B$N@bL@$K$bIJ<A78?t(B ("qs" + $BMWAG(B)$B$r;}$D$3$H$,$G$-$^$9(B</td> + </tr> + + <tr valign="top"> + <td>$B8@8l(B</td> + + <td>Accept-Language $B%X%C%@%U%#!<%k%I$G%V%i%&%6$K$h$j<($5$l$k!#(B + $B$=$l$>$l$N9`L\$OIJ<A78?t$r;}$D$3$H$,=PMh$^$9!#(B + variants $B$O(B 0, 1, $B$^$?$O$=$l0J>e$N8@8l$H4XO"$E$1$k$3$H$,$G$-$^$9!#(B + </td> + </tr> + + <tr valign="top"> + <td>$B%(%s%3!<%G%#%s%0(B</td> + + <td>Accept-Encoding $B%X%C%@%U%#!<%k%I$G%V%i%&%6$K$h$j<($5$l$k!#(B + $B$=$l$>$l$N9`L\$OIJ<A78?t$r;}$D$3$H$,=PMh$^$9!#(B</td> + </tr> + + <tr valign="top"> + <td>$B%-%c%i%/%?%;%C%H(B</td> + + <td>Accept-Charset $B%X%C%@%U%#!<%k%I$G%V%i%&%6$K$h$j<($5$l$k!#(B + $B$=$l$>$l$N9`L\$OIJ<A78?t$r;}$D$3$H$,=PMh$^$9!#(BVariants + $B$G$b%a%G%#%"%?%$%W$NMWAG$H$7$F%-%c%i%/%?%;%C%H$r<($9$3$H$,=PMh$^$9!#(B + </td> + </tr> + </table> + + <h3>Apache $B$N%M%4%7%(!<%7%g%s%"%k%4%j%:%`(B</h3> + + <p>$B%V%i%&%6$KJV$9!V:GE,$J!W(Bvariant $B$r!J$b$7$"$l$P!KA*Br$9$k$h$&$K(B Apache + $B$O<!$N%"%k%4%j%:%`$r;H$&$3$H$,$G$-$^$9!#$3$N%"%k%4%j%:%`$O(B + $BL$$@@_Dj2DG=$J$b$N$G$O$"$j$^$;$s!#<!$N$h$&$KF0:n$7$^$9(B:</p> + + <ol> + <li>$B$^$:$O$8$a$K!"%M%4%7%(!<%7%g%s$N<!85$=$l$>$l$K$D$$$FE,@Z$J(B + <em>Accept*</em> $B%X%C%@%U%#!<%k%I$r%A%'%C%/$7$F!"(Bvariant + $B$=$l$>$l$KIJ<A$r3d$jEv$F$^$9!#$b$7$"$k<!85$N(B <em>Accept*</em> + $B%X%C%@$G$=$N(B variant $B$,5vMF$G$-$J$$$H0E<($5$l$F$$$l$P!"$=$l$r:o=|$7$^$9!#(B + variants $B$,0l$D$b;D$C$F$$$J$1$l$P!"%9%F%C%W(B 4 $B$K9T$-$^$9!#(B</li> + + <li>$B>C5nK!$G!V:GE,$J!W(B variant $B$rA*$S$^$9!#(B + $B<!$N%F%9%H$,=gHV$KE,1~$5$l$^$9!#%F%9%H$GA*Br$5$l$J$+$C$?(B + variant $B$O:o=|$5$l$F$$$-$^$9!#%F%9%H8e(B variant + $B$,M#0l;D$C$F$$$l$P!"$=$l$r:GE,$J$b$N$H$7$F%9%F%C%W(B 3 $B$K?J$_$^$9!#(B + variant $B$,J#?t;D$C$F$$$l$P!"<!$N%F%9%H$K?J$_$^$9!#(B + + <ol> + <li>variant $B$N%a%G%#%"%?%$%W$NIJ<A?tCM$H(B Accept + $B%X%C%@$NIJ<A?tCM$H$N@Q$r7W;;$7$F!":G9bCM$N(B variant + $B$rA*$S$^$9!#(B</li> + + <li>$B8@8lIJ<A?tCM$,:G9b$N(B variant $B$rA*$S$^$9!#(B</li> + + <li>($B$b$7$"$l$P(B) Accept-Language $B%X%C%@$N8@8l=g$+!"(B + ($B$b$7$"$l$P(B) <code>LanguagePriority</code> + $B%G%#%l%/%F%#%V$N8@8l=g$G:GE,$J8@8l$N(B variant $B$rA*$S$^$9!#(B + </li> + + <li>$B:G9b!V%l%Y%k!W$N%a%G%#%"%Q%i%a!<%?(B (text/html + $B%a%G%#%"%?%$%W$N%P!<%8%g%s$rM?$($k$?$a$K;H$o$l$^$9(B)$B$r;}$D(B + variant $B$rA*$S$^$9!#(B</li> + + <li>Accept-Charset $B%X%C%@9T$GM?$($i$l$F$$$k:G9b$NJ8;z%;%C%H(B + $B%a%G%#%"%Q%i%a!<%?$r;}$D(B variant $B$rA*$S$^$9!#L@<(E*$K=|30(B + $B$5$l$F$$$J$$8B$j!"(BISO-8859-1 $B$,5vMF$5$l$k$h$&$K$J$C$F$$$^$9!#(B + <code>text/*</code> $B%a%G%#%"%?%$%W$G$"$k$1$l$I$b(B + $BFCDj$NJ8;z%;%C%H$KL@<(E*$K4XO"$E$1$i$l$F$$$k$o$1$G$O$J$$(B + variant $B$O(B ISO-8859-1 $B$G$"$k$H2>Dj$5$l$^$9!#(B</li> + + <li>ISO-8859-1 <em>$B$G$O$J$$(B</em>$BJ8;z%;%C%H%a%G%#%"%Q%i%a!<%?$H(B + $B4XO"$E$1$i$l$F$$$k(B variant $B$rA*$S$^$9!#$=$N$h$&$J(B variant + $B$,$J$$>l9g$O!"Be$o$j$K$9$Y$F$N(B variant $B$rA*$S$^$9!#(B</li> + + <li>$B:GE,$J%(%s%3!<%G%#%s%0$N(B variant $B$rA*$S$^$9!#$b$7(B user-agent + $B$,5vMF$9$k%(%s%3!<%G%#%s%0$,$"$l$P!"$=$N(B variant $B$N$_$rA*$S$^$9!#(B + $B$=$&$G$O$J$/!"$b$7%(%s%3!<%I$5$l$?$b$N$H$=$&$G$J$$(B + variant $B$,:.$6$C$FB8:_$7$F$$$?$i%(%s%3!<%I$5$l$F$$$J$$(B variant + $B$N$_$rA*$S$^$9!#(B variant $B$,$9$Y$F%(%s%3!<%I$5$l$F$$$k$+(B variant + $B$,$I$l$b%(%s%3!<%I$5$l$F$$$J$$$H$$$&>l9g$O!"$9$Y$F$N(B variant + $B$rA*$S$^$9!#(B</li> + + <li>$BFbMF$N:G$bC;$$(B variant $B$rA*$S$^$9!#(B</li> + + <li>$B;D$C$F$$$k(B variant $B$N:G=i$N$b$N$rA*$S$^$9!#(B + $B%?%$%W%^%C%W%U%!%$%k$N:G=i$K%j%9%H$5$l$F$$$k$+!"(B + variant $B$,%G%#%l%/%H%j$+$i:G=i$KFI$_9~$^$l$k;~$K(B ASCII + $B=g$G%=!<%H$7$F%U%!%$%kL>$,@hF,$K$J$C$?$+!"$N$I$A$i$+$G$9!#(B</li> + </ol> + </li> + + <li>$B%"%k%4%j%:%`$r;H$C$F0l$D$N!V:GE,$J!W(Bvariant + $B$rA*$S$^$7$?$N$G!"$=$l$r1~Ez$H$7$FJV$7$^$9!#(B + $B%M%4%7%(!<%7%g%s$N<!85$r;XDj$9$k$?$a$K(B HTTP $B%l%9%]%s%9%X%C%@(B + Vary $B$,@_Dj$5$l$^$9(B ($B%j%=!<%9$N%-%c%C%7%e$r$9$k;~$K!"(B + $B%V%i%&%6$d%-%c%C%7%e$O$3$N>pJs$r;H$&$3$H$,$G$-$^$9(B)$B!#(B + $B0J>e$G=*$o$j!#(B</li> + + <li><p>$B$3$3$KMh$?$H$$$&$3$H$O!"(Bvariant $B$,0l$D$bA*Br$5$l$J$+$C$?(B + ($B%V%i%&%6$,5vMF$9$k$b$N$,$J$+$C$?$?$a(B) $B$H$$$&$3$H$G$9!#(B406 $B%9%F!<%?%9(B + ("No Acceptable representation" $B$r0UL#$9$k(B) $B$,!"MxMQ2DG=$J(B variant + $B$N%j%9%H$N$D$$$?(B HTML $B%I%-%e%a%s%H$H$H$b$KJV$5$l$^$9!#(B + $BJQ2=$N<!85$r<($9(B HTTP Vary $B%X%C%@$b@_Dj$5$l$^$9!#(B</p> + + <p>Apache$B$K$h$jJV$5$l$k%(%i!<%a%C%;!<%8$,I,MW0J>e$K4JL@$G!"(B + ($BF1Ey$NFbMF$rDs<($7$F$$$k$1$l$I$b!"(B) + $B%f!<%6$,:.Mp$9$k860x$K$J$k$3$H$KN10U$9$Y$-$G$9!#(B + $B$b$7%f!<%6$,$3$N%(%i!<%Z!<%8$r8+$k$3$H$rHr$1$?$$>l9g$O!"(B + $BI8=`$N8@8l$N(B($B$^$?!"I8=`$N%(%s%3!<%G%#%s%0Ey$rE:$($?(B) + $BJ8=q$rCV$$$F$*$/$3$H$G!"$b$7%V%i%&%6$+$iMW5a$5$l$?8@8l$d(B + $B%(%s%3!<%G%#%s%0Ey$,;H$($J$+$C$?>l9g$O>o$K$=$l$,JV$5$l$^$9!#(B</p> + + <p>$B%V%i%&%6$+$iMW5a$5$l$?8@8l$NJ8=q$,$I$l$bF@$i$l$J$$;~$K(B + $B%G%U%)%k%H8@8l$NJ8=q$rJV$7$?$$>l9g$O!"(B + $B8@8lB0@-%;%C%H$J$7$NJ8=q$r:n@.$7$F$/$@$5$$!#>\:Y$O8e$N(B + <a href="#nolanguage">Variants with no Language</a> + $B;2>H!#(B</p></li> + </ol> + + <h2><a id="better" name="better">$BIJ<A$NCM$rJQ$($k(B</a></h2> + <!-- $BLuCm!'(Bbetter$B$O=$@5M=Dj!)1Q8lHG$KDI=>$9$Y$7(B --> + + <p>$B>e5-$N(B Apache + $B%M%4%7%(!<%7%g%s%"%k%4%j%:%`$N873J$J2r<a$GF@$i$l$k$G$"$m$&CM$+$i!"(B + Apache $B$OIJ<A?tCM$r;~!9JQ$($^$9!#40A4$G$O$J$$!"(B + $B$"$k$$$O@53N$G$J$$>pJs$rAw$k%V%i%&%68~$1$N%"%k%4%j%:%`$G!"(B + $B$h$j$h$$7k2L$rF@$k$?$a$K9T$o$l$^$9!#$+$J$j%]%T%e%i!<$J%V%i%&%6$G!"(B + $B$b$7$J$$$H4V0c$C$?(B variant $B$rA*Br$9$k7k2L$K$J$C$F$7$^$&$h$&$J(B + Accept $B%X%C%@>pJs$rAw$k$b$N$b$"$j$^$9!#(B + $B%V%i%&%6$,40A4$G@5$7$$>pJs$rAw$C$F$$$l$P!"(B + $B$3$N?tCMJQ2=$OE,MQ$5$l$^$;$s!#(B</p> + + <h3>$B%a%G%#%"%?%$%W$H%o%$%k%I%+!<%I(B</h3> + + <p>Accept: $B%j%/%(%9%H%X%C%@$O%a%G%#%"%?%$%W$NM%@h798~$r;XDj$7$^$9!#(B + $B$3$l$O$^$?!"(B"image/*" $B$d(B "*/*" + $B$H$$$C$?!V%o%$%k%I%+!<%I!W%a%G%#%"%?%$%W$r4^$`$3$H$,$G$-$^$9!#(B + $B$3$3$G(B * $B$OG$0U$NJ8;zNs$K%^%C%A$7$^$9!#$G$9$+$i!"<!$N(B:</p> +<pre> + Accept: image/*, */* +</pre> + $B$r4^$`%j%/%(%9%H$O!"(B"image/" $B$G$O$8$^$k%?%$%W$9$Y$F$,5vMF$G$-$k!"(B + $B$=$7$FB>$N$I$s$J%?%$%W$b5vMF$G$-$k(B ($B$3$N>l9g$O$8$a$N(B "image/*" + $B$O>iD9$K$J$j$^$9(B) $B$3$H$r<($7$^$9!#(B + $B07$&$3$H$N$G$-$kL@<(E*$J%?%$%W$K2C$($F!"(B + $B%k!<%A%s$N$h$&$K%o%$%k%I%+!<%I$rAw$k%V%i%&%6$b$"$j$^$9!#$?$H$($P(B: +<pre> + Accept: text/html, text/plain, image/gif, image/jpeg, */* +</pre> + $B$3$&$9$k$3$H$NA@$$$O!"L@<(E*$K%j%9%H$7$F$$$k%?%$%W$,M%@h$5$l$k$1$l$I$b!"(B + $B0[$J$kI=8=$,MxMQ2DG=$G$"$l$P$=$l$G$bNI$$!"$H$$$&$3$H$G$9!#(B + $B$7$+$7$J$,$i4pK\E*$J%"%k%4%j%:%`$G$O!">e$K<($7$?$h$&$K!"(B*/* + $B%o%$%k%I%+!<%I$,B>$N$9$Y$F$N%?%$%W$HA4$/F1Ey$J$N$GM%@h$5$l$^$;$s!#(B + $B%V%i%&%6$O(B */* $B$K$b$C$HDc$$IJ<A(B ($BM%@h(B) + $BCM$rIU$1$F%j%/%(%9%H$rAw$k$Y$-$J$N$G$9!#$?$H$($P(B: +<pre> + Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01 +</pre> + $BL@<(E*$J%?%$%W$K$OIJ<A?tCM$,IU$1$i$l$F$$$^$;$s$N$G!"%G%U%)%k%H$N(B + 1.0 ($B:G9bCM(B) $B$NM%@h$K$J$j$^$9!#%o%$%k%I%+!<%I(B */* $B$ODc$$M%@hEY(B + 0.01 $B$rM?$($i$l$F$$$k$N$G!"L@<(E*$K%j%9%H$5$l$F$$$k%?%$%W$K9gCW$9$k(B + variant $B$,$J$$>l9g$K$N$_!"B>$N%?%$%W$,JV$5$l$^$9!#(B + + <p>$B$b$7(B Accept: $B%X%C%@$,(B q $BCM$rA4$/4^$s$G(B<em>$B$$$J$1$l$P(B</em>$B!"(B + $BK>$_$N5sF0$r$9$k$?$a$K!"(BApache $B$O(B "*/*" $B$,$"$l$P(B 0.01 $B$N(B q + $BCM$r@_Dj$7$^$9!#$^$?!"(B"type/*" $B$N7A$N%o%$%k%I%+!<%I$K$O(B 0.02 $B$N(B q + $BCM$r@_Dj$7$^$9(B ($B$G$9$+$i$3$l$i$O(B "*/*" $B$N%^%C%A$h$j$bM%@h$5$l$^$9(B)$B!#(B + $B$b$7(B Accept: $B%X%C%@Cf$N%a%G%#%"%?%$%W$N$I$l$+$,(B q $BCM$r4^$s$G$$$l$P!"(B + $B$3$l$i$NFC<l$JCM$OE,MQ(B<em>$B$5$l$:(B</em>$B!"@5$7$$>pJs$rAw$k%V%i%&%6$+$i$N(B + $B%j%/%(%9%H$O4|BTDL$j$KF0:n$7$O$8$a$^$9!#(B</p> + + <h3><a id="nolanguage" name="nolanguage">$B8@8lB0@-$N$J$$(B variant</a></h3> + + <p>$B$b$7FCDj$N%j%=!<%9$N(B variant $B$N$&$A$N$$$/$D$+$,8@8lB0@-$r;}$C$F$$$F(B + $B$$$/$D$+$O;}$C$F$$$J$$>l9g$O!"$=$l$i$N8@8lB0@-$r;}$?$J$$(B variant + $B$K$O(B 0.001 $B$H$$$&Hs>o$KDc$$IJ<A78?t$,M?$($i$l$^$9(B</p> + + <p>$B$3$N8@8lB0@-$r;}$?$J$$(B variant $B$K(B 0.001 + $B$H$$$&Hs>o$KDc$$IJ<A78?t$,M?$($i$l$k$H$$$&@_Dj$NM}M3$O(B + $B%V%i%&%6$N8@8l@_Dj$K9g$&(B variant $B$,0l$D$b$J$+$C$?$H$-$KI8=`$N(B + variant $B$rE,MQ$9$k$3$H$r2DG=$K$9$k$?$a$G$9!#$3$l$K$h$j!"(B + $B%j%/%(%9%H$5$l$?%j%=!<%9$KBP$7$F!"MQ0U$7$F$$$J$$8@8l$@$1$r(B accept + $B$9$k$h$&$K@_Dj$5$l$?%V%i%&%6$N%f!<%6$,(B "406" + $B%(%i!<%Z!<%8$r8+$k$N$rHr$1$k$3$H$,2DG=$K$J$j$^$9!#(B</p> + + <p>$B$?$H$($P(B Multiviews $B$,M-8z$G(B variants + $B$,;0$D$"$k>u67$r9M$($^$9!#(B</p> + + <ul> + <li>foo.en.html, language en</li> + + <li>foo.fr.html, language en</li> + + <li>foo.html, no language</li> + </ul> + + <p>$B8@8lB0@-$N$J$$(B variant $B$N0UL#$O>o$K%V%i%&%6$KE,1~$9$k$3$H$G$9!#(B + $B%j%/%(%9%H$,(B <code>foo</code> $B$G(B Accept-Language $B%X%C%@$K(B en + $B$^$?$O(B fr ($B$^$?$O$=$NN>J}(B) $B$,4^$^$l$k>l9g!"(Bfoo.en.html $B$+(B + foo.fr.html $B$N$I$A$i$+$,JV$5$l$^$9!#%V%i%&%6$,5vMF$9$k$b$N$H$7$F(B + en $B$H(B fr $B$N$I$A$i$b5s$2$i$l$F$$$J$$>l9g$OBe$o$j$K(B foo.html + $B$,JV$5$l$^$9!#%/%i%$%"%s%H$,(B <code>foo.html</code> + $B$r%j%/%(%9%H$7$?>l9g$O40A4$K0lCW$9$k$N$G%M%4%7%(!<%7%g%s$OH/@8$;$:!"(B + $B$=$l<+BN$,JV$5$l$^$9!#$3$NLdBj$rHr$1$k$K$O!"!V8@8l$N$J$$!W(B variant + $B$H$7$F(B <code>foo.html.html</code> $B$H$$$&L>A0$rIU$1$k$3$H$,(B Multiviews + $B$=$7$F8@8l%M%4%7%(!<%7%g%s$,F0:n$9$k$?$a$NJ]81$H$7$F(B + $BLrN)$D$3$H$,;~!9$"$j$^$9!#(B</p> + + <h2>Transparent Content Negotiation $B$N3HD%(B</h2> + Apache $B$O(B transparent content negotiation $B%W%m%H%3%k(B (RFC 2295) + $B$r<!$N$h$&$K3HD%$7$F$$$^$9!#FCDj$N%3%s%F%s%H%(%s%3!<%G%#%s%0(B + $B$N$_$,MxMQ2DG=$G$"$k(B variant $B$K0u$rIU$1$k$?$a$K!"?7$?$K(B + <code>{encoding ..}</code> $BMWAG$r(B variant $B%j%9%HCf$K;H$&$3$H$,$G$-$^$9!#(B + $B%j%9%HCf$N%(%s%3!<%I$5$l$?(B variant $B$rG'<1$G$-$F!"(BAccept-Encoding + $B%j%/%(%9%H%X%C%@$K=>$C$F5vMF$5$l$k%(%s%3!<%I$r$b$C$?(B variant + $B$O!"$I$l$G$b8uJd(B variant $B$H$7$F;HMQ$G$-$k$h$&$K$9$k$?$a$K!"(B + RVSA/1.0 $B%"%k%4%j%:%`(B (RFC 2296) $B$N<BAu$,3HD%$5$l$^$7$?!#(B + RVSA/1.0 $B$N<BAu$G$O!":GE,$J(B variant $B$,8+$D$+$k$^$G!"(B + $B7W;;$7$?IJ<A?tCM$O>.?tE@0J2<(B 5 $B7e$^$G4]$a$^$;$s!#(B + + <h2>$B%j%s%/$HL>A0$NJQ49$K4X$9$kCm0UE@(B</h2> + + <p>$B8@8l%M%4%7%(!<%7%g%s$r;H$C$F$$$k>l9g$O!"%U%!%$%k$,0l$D0J>e$N3HD%;R$r;}$F$F!"(B + $B3HD%;R$N=gHV$K$O4XO"@-$,DL>o$O$J$$(B ($B>\:Y$O(B + <a href="mod/mod_mime.html#multipleext">mod_mime</a> $B$r;2>H(B) + $B$N$G!"4v$D$+$N0[$J$kL>A0$NJQ49$rA*$Y$k$3$H$K$J$j$^$9!#(B</p> + + <p>$BE57?E*$J%U%!%$%k$G$O!"(BMIME $B%?%$%W3HD%;R(B (<em>$B$?$H$($P(B</em> + <samp>html</samp>) $B$r;}$C$F$$$F!"%(%s%3!<%G%#%s%03HD%;R(B + (<em>$B$?$H$($P(B</em> <samp>gz</samp>) $B$r;}$C$F$$$k$+$b$7$l$J$$$7!"(B + $B$3$N%U%!%$%k$K0[$J$k8@8l(B variant $B$rMQ0U$7$F$$$l$P!"$b$A$m$s8@8l3HD%;R(B + (<em>$B$?$H$($P(B</em> <samp>en</samp>) $B$r;}$C$F$$$k$G$7$g$&!#(B</p> + + <p>$BNc(B:</p> + + <ul> + <li>foo.en.html</li> + + <li>foo.html.en</li> + + <li>foo.en.html.gz</li> + </ul> + + <p>$B@5$7$$%j%s%/!"IT@5$J%j%s%/$NN>J}$N%U%!%$%kL>$NNc$r5s$2$^$9(B:</p> + + <table border="1" cellpadding="8" cellspacing="0"> + <tr> + <th>$B%U%!%$%kL>(B</th> + + <th>$B@52r$N%j%s%/(B</th> + + <th>$BIT@52r$N%j%s%/(B</th> + </tr> + + <tr> + <td><em>foo.html.en</em></td> + + <td>foo<br /> + foo.html</td> + + <td>-</td> + </tr> + + <tr> + <td><em>foo.en.html</em></td> + + <td>foo</td> + + <td>foo.html</td> + </tr> + + <tr> + <td><em>foo.html.en.gz</em></td> + + <td>foo<br /> + foo.html</td> + + <td>foo.gz<br /> + foo.html.gz</td> + </tr> + + <tr> + <td><em>foo.en.html.gz</em></td> + + <td>foo</td> + + <td>foo.html<br /> + foo.html.gz<br /> + foo.gz</td> + </tr> + + <tr> + <td><em>foo.gz.html.en</em></td> + + <td>foo<br /> + foo.gz<br /> + foo.gz.html</td> + + <td>foo.html</td> + </tr> + + <tr> + <td><em>foo.html.gz.en</em></td> + + <td>foo<br /> + foo.html<br /> + foo.html.gz</td> + + <td>foo.gz</td> + </tr> + </table> + + <p>$B>e$NI=$r8+$F!"3HD%;R$J$7$N%j%s%/(B (<em>$B$?$H$($P(B</em> <samp>foo</samp>) + $B$,$$$D$G$b;H$($k$3$H$K5$$,IU$/$G$7$g$&!#$3$NMxE@$O!"(B + $B%I%-%e%a%s%H$H$7$F1~Ez$9$k%U%!%$%k$N<B:]$N%U%!%$%k%?%$%W$r1#JC$7$F!"(B + $B%j%s%/$N;2>H$rJQ99$9$k$3$H$J$/8e$+$i%U%!%$%k$rJQ99$G$-$k!"(B + <em>$B$?$H$($P(B</em> <samp>html</samp> $B$+$i(B <samp>shtml</samp> + $B$K!"$"$k$$$O(B <samp>cgi</samp> $B$KJQ99$G$-$kE@$G$9!#(B</p> + + <p>$B%j%s%/$K(B MIME $B%?%$%W$r;H$$B3$1$?$$(B (<em>$B$?$H$($P(B</em> + <samp>foo.html</samp>)$B;~$O!"8@8l3HD%;R$O(B + ($B%(%s%3!<%G%#%s%03HD%;R$b$"$l$P$=$l$b4^$a$F(B) + MIME $B%?%$%W3HD%;R$N1&B&$K$J$1$l$P$J$j$^$;$s(B + (<em>$B$?$H$($P(B</em> <samp>foo.html.en</samp>)$B!#(B</p> + + <h2>$B%-%c%C%7%e$K4X$9$kCm0U;v9`(B</h2> + + <p>$B%-%c%C%7%e$,$"$kI=8=$rJ]B8$7$F$$$k$H$-$O!"%j%/%(%9%H(B URL + $B$H4XO"$E$1$i$l$F$$$^$9!#<!$K$=$N(B URL $B$,%j%/%(%9%H$5$l$?;~$K!"(B + $B%-%c%C%7%e$OJ]B8$5$l$F$$$kI=8=$r;HMQ$G$-$^$9!#$7$+$7!"%j%=!<%9$,(B + $B%5!<%P$G%M%4%7%(!<%7%g%s2DG=$G$"$l$P!":G=i$N%j%/%(%9%H$G%-%c%C%7%e$5$l$FB3$/(B + $B%-%c%C%7%e%R%C%H$G$O4V0c$C$?1~Ez$rJV$7$F$7$^$&$H$$$&$3$H$K$J$j$+$M$^$;$s!#(B + $B$3$l$rKI$0$?$a$K!"(BApache $B$O%3%s%F%s%H%M%4%7%(!<%7%g%s$N(B + $B8e$KJV$5$l$?1~Ez$9$Y$F$K!"(BHTTP/1.0 $B%/%i%$%"%s%H$G$N(B + non-cacheable $B$H%^!<%/$7$^$9!#$^$?!"%M%4%7%(!<%7%g%s$5$l$?1~Ez$N%-%c%C%7%e(B + $B$r2DG=$K$9$k(B HTTP/1.1 $B%W%m%H%3%k$N5!G=$b(B Apache $B$O%5%]!<%H$7$^$9!#(B</p> + + <p>HTTP/1.0 $B=`5r$N%/%i%$%"%s%H$+$i$N%j%/%(%9%H$KBP$7$F$O!"(B + ($B%V%i%&%6$G$"$m$&$H%-%c%C%7%e$G$"$m$&$H(B) $B%M%4%7%(!<%7%g%s(B + $B$r<u$1$?1~Ez$N%-%c%C%7%e$r5v$9$?$a$K!"(B<code>CacheNegotiatedDocs</code> + $B%G%#%l%/%F%#%V$r;HMQ$G$-$^$9!#$3$N%G%#%l%/%F%#%V$O!"(B + $B<g%5!<%P@_Dj$d%P!<%A%c%k%[%9%H$GM?$($i$l$F!"0z?t$r$H$j$^$;$s!#(B + HTTP/1.1 $B%/%i%$%"%s%H$+$i$N%j%/%(%9%H$K$O8zNO$r;}$A$^$;$s!#(B</p> + <hr /> + + <h3 align="CENTER">Apache HTTP Server</h3> + <a href="./"><img src="images/index.gif" alt="Index" /></a> + + </body> +</html> + diff --git a/usr.sbin/httpd/htdocs/manual/howto/htaccess.html b/usr.sbin/httpd/htdocs/manual/howto/htaccess.html index 2233d0b09c7..9f5312f5e56 100644 --- a/usr.sbin/httpd/htdocs/manual/howto/htaccess.html +++ b/usr.sbin/httpd/htdocs/manual/howto/htaccess.html @@ -46,7 +46,7 @@ <code><a href="../mod/core.html">core</a></code><br /> <code><a href="../mod/mod_auth.html">mod_auth</a></code><br /> <code><a href="../mod/mod_cgi.html">mod_cgi</a></code><br /> - <code><a href="../mod/mod_includes.html">mod_includes</a><br /> + <code><a href="../mod/mod_include.html">mod_include</a><br /> </code> <a href="../mod/mod_mime.html">mod_mine</a><br /> </td> @@ -60,7 +60,7 @@ <code><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code><br /> <code><a - href="../mod/core.html#sethandler">SetHandler</a></code><br /> + href="../mod/mod_mime.html#sethandler">SetHandler</a></code><br /> <code><a href="../mod/core.html#authtype">AuthType</a></code><br /> <code><a @@ -163,7 +163,7 @@ <p>However, in general, use of <code>.htaccess</code> files should be avoided when possible. Any configuration that you would consider putting in a <code>.htaccess</code> file, can just as effectively be - made in a <a href="../mod/core.html#Directory"><Directory></a> + made in a <a href="../mod/core.html#directory"><Directory></a> section in your main server configuration file.</p> <p>There are two main reasons to avoid the use of diff --git a/usr.sbin/httpd/htdocs/manual/mod/core.html.ja.jis b/usr.sbin/httpd/htdocs/manual/mod/core.html.ja.jis new file mode 100644 index 00000000000..20c831bf5eb --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/core.html.ja.jis @@ -0,0 +1,4012 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> + <head> + + <title>Apache Core Features</title> + </head> + <!-- English revision: 1.249 --> + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" + alink="#FF0000"> + <div align="CENTER"> + <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> + + <h3>Apache HTTP Server Version 1.3</h3> + </div> + + + <h1 align="center">Apache $B%3%"5!G=(B</h1> + + <p>$B0J2<$N%G%#%l%/%F%#%V$O(B Apache + $B$N%3%"5!G=$r%3%s%H%m!<%k$9$k$b$N$G!">o$KMxMQ2DG=$G$9!#(B</p> + + <h2>$B%G%#%l%/%F%#%V(B</h2> + + <ul> + <li><a href="#acceptfilter">AcceptFilter</a></li> + + <li><a href="#acceptmutex">AcceptMutex</a></li> + + <li><a href="#accessconfig">AccessConfig</a></li> + + <li><a href="#accessfilename">AccessFileName</a></li> + + <li><a href="#adddefaultcharset">AddDefaultCharset</a></li> + + <li><a href="#addmodule">AddModule</a></li> + + <li><a href="#allowoverride">AllowOverride</a></li> + + <li><a href="#authname">AuthName</a></li> + + <li><a href="#authtype">AuthType</a></li> + + <li><a href="#bindaddress">BindAddress</a></li> + + <li><a href="#bs2000account">BS2000Account</a></li> + + <li><a href="#clearmodulelist">ClearModuleList</a></li> + + <li><a href="#contentdigest">ContentDigest</a></li> + + <li><a href="#coredumpdirectory">CoreDumpDirectory</a></li> + + <li><a href="#defaulttype">DefaultType</a></li> + + <li><a href="#directory"><Directory></a></li> + + <li><a href="#directorymatch"><DirectoryMatch></a></li> + + <li><a href="#documentroot">DocumentRoot</a></li> + + <li><a href="#ebcdicconvert">EBCDICConvert</a></li> + + <li><a + href="#ebcdicconvertbytype">EBCDICConvertByType</a></li> + + <li><a href="#ebcdickludge">EBCDICKludge</a></li> + + <li><a href="#errordocument">ErrorDocument</a></li> + + <li><a href="#errorlog">ErrorLog</a></li> + + <li><a href="#fileetag">FileETag</a></li> + + <li><a href="#files"><Files></a></li> + + <li><a href="#filesmatch"><FilesMatch></a></li> + + <li><a href="#group">Group</a></li> + + <li><a href="#hostnamelookups">HostnameLookups</a></li> + + <li><a href="#identitycheck">IdentityCheck</a></li> + + <li><a href="#ifdefine"><IfDefine></a></li> + + <li><a href="#ifmodule"><IfModule></a></li> + + <li><a href="#include">Include</a></li> + + <li><a href="#keepalive">KeepAlive</a></li> + + <li><a href="#keepalivetimeout">KeepAliveTimeout</a></li> + + <li><a href="#limit"><Limit></a></li> + + <li><a href="#limitexcept"><LimitExcept></a></li> + + <li><a href="#limitrequestbody">LimitRequestBody</a></li> + + <li><a href="#limitrequestfields">LimitRequestFields</a></li> + + <li><a + href="#limitrequestfieldsize">LimitRequestFieldsize</a></li> + + <li><a href="#limitrequestline">LimitRequestLine</a></li> + + <li><a href="#listen">Listen</a></li> + + <li><a href="#listenbacklog">ListenBacklog</a></li> + + <li><a href="#location"><Location></a></li> + + <li><a href="#locationmatch"><LocationMatch></a></li> + + <li><a href="#lockfile">LockFile</a></li> + + <li><a href="#loglevel">LogLevel</a></li> + + <li><a href="#maxclients">MaxClients</a></li> + + <li><a + href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li> + + <li><a + href="#maxrequestsperchild">MaxRequestsPerChild</a></li> + + <li><a href="#maxspareservers">MaxSpareServers</a></li> + + <li><a href="#minspareservers">MinSpareServers</a></li> + + <li><a href="#namevirtualhost">NameVirtualHost</a></li> + + <li><a href="#options">Options</a></li> + + <li><a href="#pidfile">PidFile</a></li> + + <li><a href="#port">Port</a></li> + + <li><a href="#protocolreqcheck">ProtocolReqCheck</a></li> + + <li><a href="#require">Require</a></li> + + <li><a href="#resourceconfig">ResourceConfig</a></li> + + <li><a href="#rlimitcpu">RLimitCPU</a></li> + + <li><a href="#rlimitmem">RLimitMEM</a></li> + + <li><a href="#rlimitnproc">RLimitNPROC</a></li> + + <li><a href="#satisfy">Satisfy</a></li> + + <li><a href="#scoreboardfile">ScoreBoardFile</a></li> + + <li><a + href="#scriptinterpretersource">ScriptInterpreterSource</a></li> + + <li><a href="#sendbuffersize">SendBufferSize</a></li> + + <li><a href="#serveradmin">ServerAdmin</a></li> + + <li><a href="#serveralias">ServerAlias</a></li> + + <li><a href="#servername">ServerName</a></li> + + <li><a href="#serverpath">ServerPath</a></li> + + <li><a href="#serverroot">ServerRoot</a></li> + + <li><a href="#serversignature">ServerSignature</a></li> + + <li><a href="#servertokens">ServerTokens</a></li> + + <li><a href="#servertype">ServerType</a></li> + + <li><a href="#shmemuidisuser">ShmemUIDisUser</a></li> + + <li><a href="#startservers">StartServers</a></li> + + <li><a href="#threadsperchild">ThreadsPerChild</a></li> + + <li><a href="#threadstacksize">ThreadStackSize</a></li> + + <li><a href="#timeout">TimeOut</a></li> + + <li><a href="#usecanonicalname">UseCanonicalName</a></li> + + <li><a href="#user">User</a></li> + + <li><a href="#virtualhost"><VirtualHost></a></li> + </ul> + <hr /> + + <h2><a id="acceptfilter" name="acceptfilter">AcceptFilter + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> AcceptFilter + on|off<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>AcceptFilter + on</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> AcceptFilter $B$O(B + Apache 1.3.22 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p><code>AcceptFilter</code> $B$O!"(BBSD + $B$KFCM-$N%U%#%k%?$N:GE,2=$r%3%s%H%m!<%k$7$^$9!#(B + $B$3$N5!G=$O%G%U%)%k%H$GAH$_9~$^$l$^$9!#(B + $B$=$7$F!"%7%9%F%`$,$3$N5!G=$r%5%]!<%H(B + (setsocketopt() $B$G(B SO_ACCEPTFILTER $B%*%W%7%g%s$,MxMQ$G$-$k(B) + $B$7$F$$$l$P!"%G%U%)%k%H$GM-8z$H$J$j$^$9!#(B + $B8=:_$N$H$3$m!"(BFreeBSD $B$K$*$$$F$N$_%5%]!<%H$5$l$F$$$^$9!#(B</p> + + <p>$B>\$7$$>pJs$rF@$k$K$O!"(B<a + href="../misc/perf-bsd44.html">$B@-G=$N%R%s%H(B</a>$B$N%U%#%k%?%;%/%7%g%s$r(B + $B8+$F$/$@$5$$!#(B</p> + + <p>$B$J$*!"%3%s%Q%$%k;~$K(B <code>AP_ACCEPTFILTER_OFF</code> + $B%U%i%0$rMxMQ$9$l$P%G%U%)%k%H$rL58z$K$9$k$3$H$,2DG=$G$9!#(B + <code>httpd -V</code> $B$H(B <code>httpd -L</code> + $B$rMxMQ$9$k$3$H$K$h$C$F!"%3%s%Q%$%k;~$N%G%U%)%k%H$H(B SO_ACCEPTFILTER + $B$,M-8z$K$J$C$F$$$k$+$I$&$+$r;2>H$9$k$3$H$,$G$-$^$9!#(B</p> + + <hr /> + + <h2><a id="acceptmutex" name="acceptmutex">AcceptMutex + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> AcceptMutex + uslock|pthread|sysvsem|fcntl|flock|os2sem|tpfcore|none|default<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>AcceptMutex + default</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core <br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> AcceptMutex $B$O(B + Apache 1.3.21 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p><code>AcceptMutex</code> $B$O!"(Baccept() $B$K$*$$$F$I$NJ}K!$N(B + mutex $B$rMxMQ$9$k$N$+$r;XDj$7$^$9!#$J$*!"MxMQ$G$-$k(B mutex + $B$O%3%s%Q%$%k;~$K7hDj$5$l!"(B + $B%W%i%C%H%U%)!<%`$K$h$C$F$O$9$Y$F$NJ}K!$OMxMQ$G$-$J$$$3$H$,$"$j$^$9!#(B + $BMxMQ$G$-$k(B mutex $B$O!"%3%^%s%I%i%$%s%*%W%7%g%s$G(B + <code>httpd -V</code> $B$r;XDj$9$k$H0lMw$,I=<($5$l$^$9!#(B</p> + + <p>$B%3%s%Q%$%k;~$N%U%i%0$H$7$F(B + <code>-D HAVE_METHOD_SERIALIZED_ACCEPT</code> + $B$r;XDj$9$k$3$H$K$h$C$F!"0[$J$kJ}K!$rDI2C$9$k$3$H$b$G$-!"(B + $BFCDj$N%W%i%C%H%U%)!<%`8~$1$K(B <code>include/ap_config.h</code> + $B$rJT=8$9$k$3$H$b2DG=$G$9!#(B</p> + + <p>$B$3$N%G%#%l%/%F%#%V$O(B Microsoft Windows + $B$KBP$7$F;XDj$7$F$b8z2L$O$"$j$^$;$s(B</p> + + <p>$B>\$7$$>pJs$K$D$$$F$O(B<a + href="../misc/perf-tuning.html">$B%Q%U%)!<%^%s%9%A%e!<%s%K%s%0(B</a>$B$r(B + $B;2>H$7$F$/$@$5$$!#(B</p> + + <hr /> + + <h2><a id="accessconfig" name="accessconfig">AccessConfig + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> AccessConfig + <em>file-path</em>|<em>directory-path</em>|<em>wildcard-path</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>AccessConfig + conf/access.conf</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core <br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a>Apache 1.3.13 + $B0J9_$G$N$_!"%U%!%$%kL>$NBe$o$j$K%G%#%l%/%H%j%Q%9$r;XDj$G$-$^$9!#(B + $B$3$N%G%#%l%/%F%#%V$O%P!<%8%g%s(B 2.0 $B0J9_$K$OB8:_$7$^$;$s!#(B + + <p><a href="#resourceconfig">ResourceConfig</a> $B%U%!%$%k$rFI$_9~$s$@8e!"(B + $B$=$l$K2C$($FB?$/$N%G%#%l%/%F%#%V$r$3$3$G5-$7$?%U%!%$%k$+$iFI$_9~$_$^$9!#(B + <em>File-path</em> $B$O!"(B<a href="#serverroot">ServerRoot</a> + $B$G5-$7$?%Q%9$+$i$N!"AjBP%Q%9$G$9!#(B<br /> + $B$J$*!"$3$N5!G=$rL58z$K$9$k$K$O<!$N$h$&$K;XDj$7$^$9!#(B</p> + + <blockquote> + <code>AccessConfig /dev/null</code> + </blockquote> + Win32 $B$N>l9g(B + + <blockquote> + <code>AccessConfig nul</code> + </blockquote> + + $B0JA0$O!"$3$N%U%!%$%k$K$O(B <a href="#directory"><Directory></a> + $B%;%/%7%g%s$N$_$,=q$+$l$F$$$^$7$?!#(B + $B8=:_$G$O%5!<%P@_Dj%U%!%$%k$K5-=R$G$-$k$3$H$9$Y$F$,5-=R2DG=$K$J$C$F$$$^$9!#(B + $B$?$@!"(BApache $B$N%P!<%8%g%s(B 1.3.4 $B0J9_$G$O!"(B + Apache $B$H6&$KG[I[$5$l$F$$$k%G%U%)%k%H$N(B <code>access.conf</code> + $B%U%!%$%k$K$O%3%a%s%H$7$+=q$+$l$F$*$i$:!"(B + $B$9$Y$F$N%G%#%l%/%F%#%V$,<g$H$J$k%5!<%P@_Dj%U%!%$%k$N(B + <code>httpd.conf</code> $B$K5-=R$5$l$F$$$^$9!#(B + + <p> + $B$b$7!"$3$N(B <code>AccessConfig</code> + $B%G%#%l%/%F%#%V$K!"%U%!%$%k$G$O$J$/%G%#%l%/%H%j$,;XDj$5$l$l$P!"(B + Apache $B$O$=$N%G%#%l%/%H%jFb$N$9$Y$F$N%U%!%$%k$rFI$_9~$_!"(B + $B$=$l$i$r@_Dj%U%!%$%k$H$7$F=hM}$7$^$9!#(B</p> + <p>$BBe$o$j$K!"%o%$%k%I%+!<%I$r;H$C$FHO0O$r9J$k$3$H$b$G$-$^$9!#(B + $B$9$J$o$A!"(B*.conf $B%U%!%$%k$N$_!"$H$$$C$?$h$&$K!#(B</p> + <p>$B%G%U%)%k%H$G$O;XDj$5$l$?%G%#%l%/%H%j$N!V(B<em>$B$I$N$h$&$J(B</em>$B!W(B + $B%U%!%$%k$G$b@_Dj%U%!%$%k$H$7$FFI$_9~$^$l$^$9!#(B</p> + <p>$B$G$9$+$i8m$C$F(B ($BNc$($P%(%G%#%?$G%F%s%]%i%j%U%!%$%k$r:n@.$9$kEy(B) + $B%U%!%$%k$rCV$+$J$$$h$&$KCm0U$7$F$/$@$5$$!#(B</p> + + <p><strong>$B;2>H(B:</strong> <a href="#include">Include</a>,<a + href="#resourceconfig">ResourceConfig</a>.</p> + <hr /> + + <h2><a id="accessfilename" name="accessfilename">AccessFileName + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> AccessFileName + <em>filename</em> [<em>filename</em>] ...<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>AccessFileName + .htaccess</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> AccessFileName $B$O(B Apache 1.3 + $B0J9_$K$*$$$F$N$_J#?t$N%U%!%$%kL>$r;XDj$G$-$^$9!#(B + + <p>$B%I%-%e%a%s%H$r%/%i%$%"%s%H$KJV$9$H$-!"%5!<%P$O%G%#%l%/%H%j$K(B + $BBP$7$F%"%/%;%9@_Dj%U%!%$%k$,M-8z$K$J$C$F$$$l$P!"$=$N%I%-%e%a%s%H$X$N(B + $B%Q%9>e$K$"$k$9$Y$F$N%G%#%l%/%H%j$+$i$3$3$G;XDj$5$l$?L>A0$N0lMw$NCf$G(B + $B:G=i$K8+$D$+$C$?%U%!%$%k$r!"$=$l$>$l%"%/%;%9@)8f%U%!%$%k$H$7$FFI$_9~$_$^$9!#(B + $BNc$($P(B:</p> + + <blockquote> + <code>AccessFileName .acl</code> + </blockquote> + $B$N$h$&$K;XDj$5$l$F$$$k$H!"(B /usr/local/web/index.html + $B$rJV$9>l9g!"0J2<$N$h$&$K$7$FL58z$K$5$l$F$$$J$$8B$j!"(B + $B%I%-%e%a%s%H$rJV$9A0$K(B /.acl, /usr/.acl, /usr/local/.acl, + /usr/local/web/.acl $B$+$i%G%#%l%/%F%#%V$rFI$_9~$_$^$9!#(B + + <blockquote> + <code><Directory /><br /> + AllowOverride None<br /> + </Directory></code> + </blockquote> + + <p><strong>$B;2>H(B:</strong> <a + href="#allowoverride">AllowOverride</a> $B5Z$S(B <a + href="../configuring.html">$B@_Dj%U%!%$%k(B</a></p> + <hr /> + + <h2><a id="adddefaultcharset" + name="adddefaultcharset">AddDefaultCharset $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> AddDefaultCharset + On|Off|<em>charset</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B$9$Y$F(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> + <code>AddDefaultCharset Off</code><br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> + AddDefaultCharset $B$O(B Apache 1.3.12 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(BHTTP $B%X%C%@$K%3%s%F%s%H%?%$%W%Q%i%a!<%?$r(B + $B;}$?$J$$%l%9%]%s%9$KDI2C$5$l$kJ8;z%;%C%H$NL>A0$r;XDj$7$^$9!#(B + $B$3$l$O!"%I%-%e%a%s%HFb$N(B META + $B%?%0$G;XDj$5$l$?$I$N$h$&$JJ8;z%;%C%H$bL58z$K$7$^$9!#(B + <code>AddDefaultCharset Off</code> + $B$H$$$&@_Dj$K$h$j!"$3$N5!G=$OL58z$K$J$j$^$9!#(B + <code>AddDefaultCharset On</code> $B$K$9$l$P!"%G%#%l%/%F%#%V$NMW5aDL$j(B + Apache $BFbIt$N%G%U%)%k%HJ8;z%;%C%H(B <code>iso-8859-1</code> + $B$K@_Dj$7$^$9!#$^$?!"B>$N(B <em>charset</em> $B$b;XDj$G$-$^$9!#(B</p> + + <p>$BNc(B:</p> + + <blockquote> + <code>AddDefaultCharset utf-8</code> + </blockquote> + + <p><b>$BCm0U(B:</b> $B$3$l$O%G%U%)%k%H$G(B Apache + $B$,@8@.$9$k%9%F!<%?%9%Z!<%8(B ('404 Not Found' $B$d(B + '301 Moved Permanently' $B$J$I(B) $B$K$O1F6A(B<b>$B$7$^$;$s(B</b>$B!#(B + $B$=$l$i$O!"(B($B%Z!<%8$NFbMF$,%O!<%I%3!<%I$5$l$F=q$+$l$F$$$k(B) <i>$B<B:]$N(B</i> + $BJ8;z%;%C%H$,$"$k$?$a!"%G%U%)%k%H$,E,MQ$5$l$kI,MW$O$J$$$+$i$G$9!#(B</p> + + <hr /> + + <h2><a id="addmodule" name="addmodule">AddModule + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> AddModule + <em>module</em> [<em>module</em>] ...<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B <br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> AddModule $B$O(B Apache 1.2 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>Apache + $B$G$O!";HMQ$7$J$$%3%s%Q%$%k:Q$_$N%b%8%e!<%k$r;}$D$3$H$,$G$-$^$9!#(B + $B$3$N%G%#%l%/%F%#%V$O!"$=$l$i$N%b%8%e!<%k$r;HMQ$9$k$h$&$K$G$-$^$9!#(B + $B5/F08e!"$"$i$+$8$a;HMQ%b%8%e!<%k$N%j%9%H$r:n@.$7$F$$$^$9$,!"(B + <a href="#clearmodulelist">ClearModuleList</a> + $B%G%#%l%/%F%#%V$K$h$j$=$N%j%9%H$NCf?H$r>C$9$3$H$,$G$-$^$9!#(B</p> + + <p>$BNc(B:</p> + + <blockquote> + <code>AddModule mod_include.c</code> + </blockquote> + + <p><code>AddModule</code> $B$N=gHV$O=EMW$G$9!#%b%8%e!<%k$OM%@hEY$N(B + $B5U=g$K=q$-$^$9!=8e$K=q$+$l$F$$$k$b$N$OA0$NJ}$K=q$+$l$F$$$k$b$N$N(B + $B?6$kIq$$$r>e=q$-$9$k$3$H$,$G$-$^$9!#$3$l$O!"L\$K8+$($k1F6A$,$"$j$^$9!#(B + $BNc$($P!"(BUserDir $B$,(B Alias $B$N8e$K$"$l$P!"%f!<%6$N%[!<%`%G%#%l%/%H%j$N(B + $B%(%$%j%"%9$r:n$k$3$H$O$G$-$^$;$s!#$h$j>\$7$$>pJs$H!"?d>)$5$l$F$$$k(B + $B=gHV$K$D$$$F$O(B Apache $B%=!<%9G[I[Cf$N(B <code>src/Configuration.tmpl</code> + $B$r;2>H$7$F$/$@$5$$!#(B</p> + + <p><strong>$B;2>H(B</strong>: <a + href="#clearmodulelist">ClearModuleList</a> $B$H(B <a + href="mod_so.html#loadmodule">LoadModule</a></p> + <hr /> + + <h2><a id="allowoverride" name="allowoverride">AllowOverride + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> AllowOverride + All|None|<em>directive-type</em> [<em>directive-type</em>] + ...<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>AllowOverride + All</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B%5!<%P$,(B (<a + href="#accessfilename">AccessFileName</a> $B$K$h$C$F;XDj$5$l$?(B) + .htaccess $B%U%!%$%k$r8+$D$1$?;~!"$=$N%U%!%$%k$NCf$G(B + $B@k8@$5$l$?$I$N%G%#%l%/%F%#%V$,$h$jA0$KDj5A$5$l$?%"%/%;%9>pJs$r(B + $B>e=q$-$G$-$k$+$rCN$kI,MW$,$"$j$^$9!#(B</p> + + <p><strong>Note:</strong> <code>AllowOverride</code> is only + valid in <Directory> sections, not in <Location> or + <Files> sections, as implied by the <strong>Context</strong> + section above.</p> + + <p>$B$3$N%G%#%l%/%F%#%V$r(B None $B$K@_Dj$9$k$H!"(B.htaccess + $B%U%!%$%k$O40A4$KL5;k$5$l$^$9!#(B + $B$3$N>l9g!"%5!<%P$O%U%!%$%k%7%9%F%`$N(B .htaccess + $B%U%!%$%k$rFI$`$3$H$r;n$_$5$($7$^$;$s!#(B</p> + + <p>$B$3$N%G%#%l%/%F%#%V$,(B <code>All</code> $B$K@_Dj$5$l$F$$$k$H$-$K$O!"(B + .htaccess $B$H$$$&(B <a + href="directive-dict.html#Context">$B%3%s%F%-%9%H(B</a> + $B$r;}$D$9$Y$F$N%G%#%l%/%F%#%V$,MxMQ$G$-$^$9!#(B</p> + + <p><em>directive-type</em> + $B$K$O!"0J2<$N%G%#%l%/%F%#%V72$N%-!<%o!<%I$N$I$l$+$r;XDj$7$^$9!#(B</p> + + <dl> + <dt>AuthConfig</dt> + + <dd> + + $BG'>Z$K4X$9$k%G%#%l%/%F%#%V$N;HMQ$r5v2D$9$k(B (<a + href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a>, + <a + href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a>, + <a href="mod_auth.html#authgroupfile">AuthGroupFile</a>, <a + href="#authname">AuthName</a>, <a + href="#authtype">AuthType</a>, <a + href="mod_auth.html#authuserfile">AuthUserFile</a>, <a + href="#require">Require</a> <em>$B$J$I(B</em>)$B!#(B</dd> + + <dt>FileInfo</dt> + + <dd> + $B%I%-%e%a%s%H%?%$%W$r@)8f$9$k$?$a$N%G%#%l%/%F%#%V$N;HMQ$r5v2D$9$k(B (<a + href="mod_mime.html#addencoding">AddEncoding</a>, <a + href="mod_mime.html#addlanguage">AddLanguage</a>, <a + href="mod_mime.html#addtype">AddType</a>, <a + href="#defaulttype">DefaultType</a>, <a + href="#errordocument">ErrorDocument</a>, <a + href="mod_negotiation.html#languagepriority">LanguagePriority</a> + <em>$B$J$I(B</em>)$B!#(B</dd> + + <dt>Indexes</dt> + + <dd> + $B%G%#%l%/%H%j%$%s%G%C%/%9$r@)8f$9$k$?$a$N%G%#%l%/%F%#%V$N;HMQ$r5v2D$9$k(B + (<a + href="mod_autoindex.html#adddescription">AddDescription</a>, + <a href="mod_autoindex.html#addicon">AddIcon</a>, <a + href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a>, + <a href="mod_autoindex.html#addiconbytype">AddIconByType</a>, + <a href="mod_autoindex.html#defaulticon">DefaultIcon</a>, <a + href="mod_dir.html#directoryindex">DirectoryIndex</a>, <a + href="mod_autoindex.html#fancyindexing">FancyIndexing</a>, <a + href="mod_autoindex.html#headername">HeaderName</a>, <a + href="mod_autoindex.html#indexignore">IndexIgnore</a>, <a + href="mod_autoindex.html#indexoptions">IndexOptions</a>, <a + href="mod_autoindex.html#readmename">ReadmeName</a> + <em>$B$J$I(B</em>)$B!#(B</dd> + + <dt>Limit</dt> + + <dd> + $B%[%9%H$X$N%"%/%;%9@)8f$r9T$&$?$a$N%G%#%l%/%F%#%V$N;HMQ$r5v2D$9$k(B (<a + href="mod_access.html#allow">Allow</a>, + <a href="mod_access.html#deny">Deny</a> + and <a href="mod_access.html#order">Order</a>).</dd> + + <dt>Options</dt> + + <dd> + $BFCDj$N%G%#%l%/%H%j$K$*$1$k5!G=$r;XDj$9$k$?$a$N%G%#%l%/%F%#%V$N;HMQ$r5v2D$9$k(B + (<a href="#options">Options</a> $B$H(B <a + href="mod_include.html#xbithack">XBitHack</a>).</dd> + </dl> + + <p>$BNc(B:</p> + <blockquote><code>AllowOverride AuthConfig Indexes</code></blockquote> + + <p><strong>$B;2>H(B:</strong> <a + href="#accessfilename">AccessFileName</a> $B5Z$S(B <a + href="../configuring.html">$B@_Dj%U%!%$%k$N5-=R(B</a></p> + <hr /> + + <h2><a id="authname" name="authname">AuthName + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> AuthName + <em>auth-domain</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j!"(B + .htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> AuthConfig<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B$3$N%G%#%l%/%F%#%V$O%G%#%l%/%H%j$KBP$9$kG'2DNN0h(B ($BLuCm(B: realm) + $B$NL>A0$r;XDj$7$^$9!#(B + $BG'2DNN0h$O!"MxMQ<T$,$I$N%f!<%6L>$H%Q%9%o!<%I$rAw?.$9$l$P$h$$$N$+$r(B + $B%/%i%$%"%s%H$K65$($k$?$a$KMxMQ$7$^$9!#(B + <samp>AuthName</samp> $B$O0l$D$N0z?t$r<h$j!"(B + $B%9%Z!<%9$,4^$^$l$k>l9g$K$O!"0zMQId$G0O$^$J$1$l$P$J$j$^$;$s!#(B + $B$3$N%G%#%l%/%F%#%V$O(B + <a href="#authtype">AuthType</a> $B%G%#%l%/%F%#%V$d(B + <a href="#require">Require</a> $B%G%#%l%/%F%#%V5Z$S!"(B + <a href="mod_auth.html#authuserfile">AuthUserFile</a> $B$d(B <a + href="mod_auth.html#authgroupfile">AuthGroupFile</a> + $B$J$I$N%G%#%l%/%F%#%V$H0l=o$KMxMQ$9$kI,MW$,$"$j$^$9!#(B</p> + + <p>$BNc(B:</p> + + <blockquote><code>AuthName "$BHkL)$N%Q%9%o!<%I(B"</code></blockquote> + + <p>$B$3$3$G(B <code>AuthName</code> $B$K;XDj$7$?J8;zNs$,!"(B + $BBgItJ,$N%V%i%&%6$N%Q%9%o!<%I%@%$%"%m%0$KI=<($5$l$^$9!#(B</p> + + <p><strong>$BLuCm(B:</strong> + $B0z?t$KM?$($kJ8;zNs$O1Q?t;z$d%O%$%U%s$J$I$N5-9f$N$_$rMxMQ$9$k$Y$-$G$9$,!"(B2 + $B%P%$%HJ8;z$r;XDj$7$?>l9g$G$b!"(B + Apache $B$ODL>o$NJ8;zNsF1MM$K%/%i%$%"%s%H$XAw=P$7$^$9!#(B + ($B$?$@%5%]!<%H$,I=L@$5$l$F$$$k$o$1$G$O$"$j$^$;$s(B)</p> + + <p><strong>$B;2>H(B:</strong> <a + href="../howto/auth.html">$BG'>Z!">5G'!"%"%/%;%9@)8f(B</a></p> + <hr /> + + <h2><a id="authtype" name="authtype">AuthType + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> AuthType + Basic|Digest<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j!"(B + .htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> AuthConfig<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B$3$N%G%#%l%/%F%#%V$OBP>]%G%#%l%/%H%j$GMxMQ$9$k%f!<%6!<G'>Z$N<oN`$rA*$S$^$9!#(B + $B$?$@!"8=:_$N$H$3$m$O(B <code>Basic</code> $B<c$7$/$O(B + <code>Digest</code> $B$7$+<BAu$5$l$F$$$^$;$s!#(B + + $B$3$N%G%#%l%/%F%#%V$O(B + <a href="#authtype">AuthType</a> $B%G%#%l%/%F%#%V$d(B + <a href="#require">Require</a> $B%G%#%l%/%F%#%V5Z$S!"(B + <a href="mod_auth.html#authuserfile">AuthUserFile</a> $B$d(B <a + href="mod_auth.html#authgroupfile">AuthGroupFile</a> + $B$J$I$N%G%#%l%/%F%#%V$H0l=o$KMxMQ$9$kI,MW$,$"$j$^$9!#(B</p> + + <p><strong>$B;2>H(B:</strong> <a + href="../howto/auth.html">$BG'>Z!">5G'!"%"%/%;%9@)8f(B</a></p> + <hr /> + + <h2><a id="bindaddress" name="bindaddress">BindAddress + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> BindAddress + *|<em>IP-address</em>|<em>domain-name</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>BindAddress + *</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> BindAddress $B$O(B + $BHs?d>)$G(B Apache 2.0 $B$G$O:o=|$5$l$^$9!#(B + + <p>Unix® $B$K$*$$$F(B HTTP $B%5!<%P$O!"%5!<%P$N$9$Y$F$N(B IP + $B%"%I%l%9$r(B listen $B$9$k$3$H$,$G$-!"0l$D$N(B IP $B%"%I%l%9$@$1$r(B + listen $B$9$k$3$H$b$G$-$^$9!#$3$N%G%#%l%/%F%#%V$K(B * + $B$r;XDj$9$k$H!"%5!<%P$O$9$Y$F$N(B IP $B%"%I%l%9>e$G(B listen + $B$r9T$$$^$9!#$=$l0J30$N>l9g$O!"FCDj$N(B <em>IP-address</em> $B$+(B + <em>domain-name</em> $B$N$_$G(B listen $B$7$^$9!#(B</p> + + <p>$BNc(B:</p> + + <code>BindAddress 192.168.15.48</code><br /> + + <p>$B$J$*!"(B<code>BindAddress</code> + $B%G%#%l%/%F%#%V$O0l$D$7$+MxMQ$G$-$^$;$s!#(B</p> + + <p>$B$3$N%G%#%l%/%F%#%V$O(B Apache 2.0 $B$K$*$$$F$OHs?d>)$G!"<h$j=|$+$l$F$$$^$9!#(B + $BBe$o$j$K!"F1Ey$N5!G=$r;}$A$+$DJ#?t$N%"%I%l%9$d%]!<%H$K$*$$$F(B + listen $B$G$-$k$h$&$K$J$C$?(B + <code><a href="#listen">Listen</a></code> + $B%G%#%l%/%F%#%V$rMxMQ$G$-$^$9!#(B</p> + <p>BindAddress $B$O!"(B<code><a + href="#virtualhost"><VirtualHost></a></code> + $B%;%/%7%g%s$r;H$&Be$o$j$K!"J#?t$N%5!<%P$r5/F0$7$F(B<a + href="../vhosts/">$B%P!<%A%c%k%[%9%H(B</a>$B$r%5%]!<%H$9$k(B + $B$?$a$KMxMQ$9$k$3$H$,$G$-$^$9!#(B</p> + + <p><strong>$B;2>H(B:</strong> + <a href="../dns-caveats.html">DNS $B$K4X$9$kLdBj(B</a><br /> + <strong>$B;2>H(B:</strong> <a href="../bind.html">Apache + $B$,MxMQ$9$k%"%I%l%9$H%]!<%H$N@_Dj(B</a></p> + <hr /> + + <h2><a id="bs2000account" name="bs2000account">BS2000Account + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> BS2000Account + <em>account</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <em>none</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> BS2000Account $B$O(B BS2000 + $B%^%7%s$G$+$D(B Apache 1.3.22 $B0J9_$G$N$_MxMQ2DG=$G$9!#(B + + <p><code>BS2000Account</code> $B%G%#%l%/%F%#%V$O!"(BBS2000 + $B%[%9%H$G$N$_M-8z$G$"$j!"(B(<a href="#user">User</a> + $B%G%#%l%/%F%#%V$rMxMQ$7$F(B) Apache + $B$r<B9T$9$k8"8B$r4IM}<T0J30$N%"%+%&%s%HHV9f$K;XDj$9$kI,MW$,$"$j$^$9!#(B + $B$3$l$O!"(BCGI $B%9%/%j%W%H$,!"DL>o(B SYSROOT + $B$G$"$k!"%5!<%P$r5/F0$7$?4IM}<T8"8B$r;}$D%"%+%&%s%H$N(B + $B%j%=!<%9$K%"%/%;%9$G$-$J$$$h$&$K$9$k$?$a$K!"(B + ($B%5%V%m%0%$%s$K$h$C$F!"(BBS2000 $B$N%?%9%/4D6-2<$KCV$+$l$k(B) BS2000 $B$N(B + POSIX $B%5%V%7%9%F%`$K$*$$$FI,MW$G$9!#(B<code>BS2000Account</code> + $B%G%#%l%/%F%#%V$O(B 1 $B2s$@$1MxMQ$G$-$^$9!#(B</p> + + <p><strong>$B;2>H(B:</strong> <a href="../ebcdic.html">Apache $B$N(B + EBCDIC $B$X$N0\?"HG(B</a></p> + <hr /> + + <h2><a id="clearmodulelist" + name="clearmodulelist">ClearModuleList $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ClearModuleList<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> ClearModuleList + $B$O(B Apache 1.2 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B%5!<%P$O$"$i$+$8$aM-8z$J%b%8%e!<%k$N0lMw$r;}$C$F$$$^$9!#(B + $B$3$N%G%#%l%/%F%#%V$O$=$N0lMw$r%/%j%"$7$^$9!#8e$G(B + <a href="#addmodule">AddModule</a> $B%G%#%l%/%F%#%V$r;H$C$F(B + $B%b%8%e!<%k$r0lMw$K:F$S2C$($k$3$H$,4|BT$5$l$F$$$^$9!#(B</p> + <hr /> + + <p><strong>$B;2>H(B</strong>: <a + href="#addmodule">AddModule</a> $B$H(B <a + href="mod_so.html#loadmodule">LoadModule</a></p> + + <h2><a id="contentdigest" name="contentdigest">ContentDigest + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ContentDigest + on|off<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ContentDigest + off</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B + $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> Options<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> experimental<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> ContentDigest $B$O(B Apache 1.1 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(BRFC1864 $B5Z$S(B RFC2068 $B$K$*$$$FDj5A$5$l$F$$$k(B + <code>Content-MD5</code> $B%X%C%@$N@8@.$rM-8z$K$7$^$9!#(B</p> + + <p>MD5 $B$O!"G$0UD9$N%G!<%?$N!V%a%C%;!<%8%@%$%8%'%9%H!W(B($B!V;XLf!W(B + $B$HI=8=$5$l$k$3$H$b$"$k(B) $B$r7W;;$9$k%"%k%4%j%:%`$G!"(B + $B%G!<%?$NJQ99$,$"$C$?>l9g$K$OHs>o$K9b$$?.MjEY$G(B + $B%a%C%;!<%8%@%$%8%'%9%H$KJQ99$,H?1G$5$l$^$9!#(B</p> + + <p><code>Content-MD5</code> $B%X%C%@$O!"%(%s%I%D!<%(%s%I$G(B + $B%(%s%F%#%F%#%\%G%#!<$K4^$^$l$k%a%C%;!<%8$N40A4@-%A%'%C%/(B + (Message Integrity Check - MIC)$B$rDs6!$7$^$9!#(B + $B$3$N%X%C%@$rD4$Y$k$3$H$G!"%W%m%-%7$d%/%i%$%"%s%H$O!"(B + $BESCf7PO)$K$*$1$k%(%s%F%#%F%#%\%G%#$NM=4|$;$LJQ99$J$I$r(B + $B8!=P$9$k$3$H$,$G$-$^$9!#%X%C%@$NNc(B:</p> +<pre> + Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== +</pre> + + <p>$B%j%/%(%9%H$4$H$K%a%C%;!<%8%@%$%8%'%9%H$r7W;;$9$k(B + ($BCM$O%-%c%C%7%e$5$l$^$;$s(B) $B$3$H$+$i!"(B + $B%5!<%P%Q%U%)!<%^%s%9$,Dc2<$9$k$3$H$K$D$$$FCm0U$7$F$/$@$5$$!#(B</p> + + <p><code>Content-MD5</code > + $B$O!"%3%"5!G=$K$h$j=hM}$5$l$?%I%-%e%a%s%H$rAw$k$H$-$N$_M-8z$G$"$j!"(B + SSI $B%I%-%e%a%s%H$d(B CGI $B%9%/%j%W%H$N=PNO!"(B + $B%P%$%H%l%s%8$r;XDj$7$?1~Ez$N>l9g$K$O$3$N%X%C%@$OIUM?$5$l$^$;$s!#(B + </p> + <hr /> + + <h2><a id="coredumpdirectory" + name="coredumpdirectory">CoreDumpDirectory $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> CoreDumpDirectory + <em>$B%G%#%l%/%H%j%Q%9(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> ServerRoot $B$HF1$8>l=j(B<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B$3$l$K$h$j!"(BApache + $B$,%3%"%@%s%W$r$9$kA0$K0\F0$9$k$?$a$N%G%#%l%/%H%j$r;XDj$G$-$^$9!#(B + $B%G%U%)%k%H$N>l9g$O!"(B<a href="#serverroot">ServerRoot</a> + $B$K$*$$$F;XDj$7$?%G%#%l%/%H%j$H$J$k$b$N$N!"(B + $BDL>o$N>l9g$O%5!<%P$r<B9T$7$F$$$k%f!<%6$K$h$C$F=q$-9~$_8"8B$,L5$/!"(B + $B%3%"%@%s%W$,;D$5$l$k$3$H$O$"$j$^$;$s!#(B + $B$b$7!"%G%P%C%0$N$?$a$K%3%"%@%s%W$,I,MW$J$N$G$"$l$P!"(B + $B$3$N%G%#%l%/%F%#%V$K$h$j0c$&>l=j$K@_Dj$r$9$k$3$H$,$G$-$^$9!#(B + </p> + + <p>$B@_DjNc(B:</p> + + <blockquote> + <code>CoreDumpDirectory /tmp</code> + </blockquote> + + <hr /> + + <h2><a id="defaulttype" name="defaulttype">DefaultType + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> DefaultType + <em>MIME-type</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>DefaultType + text/html</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B + $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> FileInfo<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B%5!<%P$O!"(BMIME $B$N%?%$%W%^%C%W$+$i$O7hDj$G$-$J$$(B + $B%I%-%e%a%s%H$NAw?.$rMW5a$5$l$k$3$H$,$"$j$^$9!#(B</p> + + <p>$B%5!<%P$O!"%I%-%e%a%s%H$N%3%s%F%s%H%?%$%W$r%/%i%$%"%s%H$K(B + $BDLCN$9$kI,MW$,$"$j$^$9$N$G!"$3$N$h$&$K%?%$%W$,L$CN$N>l9g$O(B + <code>DefaultType</code> $B$G;XDj$5$l$?%?%$%W$rMxMQ$7$^$9!#(B + $B@_DjNc(B:</p> + + <blockquote> + <code>DefaultType image/gif</code> + </blockquote> + $B$3$l$O(B .gif $B$H$$$&3HD%;R$,%U%!%$%kL>$K4^$^$l$F$$$J$$B?$/$N(B + GIF $B2hA|$,4^$^$l$F$$$k%G%#%l%/%H%j$KE,$7$F$$$k$G$7$g$&!#(B + + <p><strong>$B;2>H(B:</strong> <a + href="mod_mime.html#addtype">AddType</a> $B5Z$S(B <a + href="mod_mime.html#typesconfig">TypesConfig</a></p> + + <hr /> + + <h2><a id="directory" name="directory"><Directory> + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> <Directory + <em>directory-path</em>> ... </Directory><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B + $B%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Core. + + <p>$B;XDj$5$l$?%G%#%l%/%H%jG[2<$K$N$_%G%#%l%/%F%#%V$rE,MQ$5$;$k$?$a$K!"(B + <Directory> $B5Z$S(B </Directory> + $B$rBP$H$7$F!"%G%#%l%/%F%#%V72$r0O$&$3$H$,$G$-$^$9!#(B + $B0O$$$NCf$G$O!"%G%#%l%/%H%j%3%s%F%-%9%H$G5v2D$5$l$?$9$Y$F$N(B + $B%G%#%l%/%F%#%V$,MxMQ$G$-$^$9!#(B<em>directive-path</em> + $B$O!"%U%k%Q%9<c$7$/$O%o%$%k%I%+!<%I$K$F;XDj$7$^$9!#(B + `?' $B$OG$0U$N(B 1 $BJ8;z!"(B`*' $B$OG$0U$NJ8;zNs$K%^%C%A$7$^$9!#(BApache 1.3 + $B$N>l9g!"%7%'%k$K$*$1$k;XDjF1MM!"J8;z$NHO0O;XDj$r(B `[ ]' $B$G2DG=$G$9!#(B + $B$^$?!"(BApache 1.3$B$G$O!"(BUNIX $B$N%7%'%k$N5sF0$K;w$;$k$?$a$K!"(B + $B%o%$%k%I%+!<%I$O(B `/' $BJ8;z$K$O%^%C%A$7$^$;$s!#(B + $BNc(B:</p> +<pre> + <Directory /usr/local/httpd/htdocs> + Options Indexes FollowSymLinks + </Directory> +</pre> + + <p><strong>Apache 1.2 $B0J9_$N>l9g(B:</strong> <code>~</code> + $B$H$$$&J8;z$rIU2C$9$k$3$H$G3HD%@55,I=8=$rMxMQ$9$k$3$H$b$G$-$^$9!#(B<br /> + $BNc$($P!"(B</p> +<pre> + <Directory ~ "^/www/.*/[0-9]{3}"> +</pre> + $B$H$$$C$?;XDj$N>l9g!"(B/www/ $B0J2<$K$"$k?t;z(B 3 + $BJ8;z$N%G%#%l%/%H%j$K%^%C%A$7$^$9!#(B + + <p>$B$b$7J#?t$N(B ($B@55,I=8=0J30$N(B) $B%G%#%l%/%H%j%;%/%7%g%s$,(B + $B%I%-%e%a%s%H$r4^$`%G%#%l%/%H%j(B ($B$d$=$N>e0L%G%#%l%/%H%j(B) + $B$H%^%C%A$7$?$J$i$P!"(B<a href="#accessfilename">.htaccess</a> + $B%U%!%$%k$N%G%#%l%/%F%#%V$bFI$_9~$_$D$D!"(B + $BC;$$%Q%9$+$i=g$KE,MQ$5$l$^$9!#(B + $BNc$($P!"(B</p> + + <blockquote> + <code><Directory /><br /> + AllowOverride None<br /> + </Directory><br /> + <br /> + <Directory /home/*><br /> + AllowOverride FileInfo<br /> + </Directory></code> + </blockquote> + $B$H@_Dj$7!"%I%-%e%a%s%H(B <code>/home/web/dir/doc.html</code> + $B$X$N%"%/%;%9$,$"$C$?>l9g$K$O0J2<$N$h$&$KF0:n$7$^$9(B: + + <ul> + <li><code>AllowOverride None</code> $B$,E,MQ$5$l$k!#(B + (<code>.htaccess</code> $B%U%!%$%k$OL58z$K$J$k(B)</li> + + <li><code>AllowOverride FileInfo</code> $B$,E,MQ$5$l$k(B + (<code>/home/web</code> $B%G%#%l%/%H%j$KBP$7$F(B)$B!#(B</li> + + <li><code>/home/web/.htaccess</code> $B$N(B FileInfo + $B%G%#%l%/%F%#%V$,E,MQ$5$l$k!#(B</li> + </ul> + + <p>$B%G%#%l%/%H%j%;%/%7%g%s$K$*$1$k@55,I=8=$K$D$$$F$O!"(BApache 1.2 $B$H(B + 1.3 $B$G<c4307$$$,0c$$$^$9!#(B</p> + + <p>Apache 1.2 $B$N>l9g!"DL>o$N%G%#%l%/%H%j%;%/%7%g%s$,F1$8$/!"(B + $B@_Dj%U%!%$%kFb$K8=$l$k=g$KI>2A$5$l$^$9!#@55,I=8=$N%G%#%l%/%H%j%;%/%7%g%s$O!"(B + $B0lHVC;$/%^%C%A$7$?>l9g$K0lEY$@$1E,MQ$5$l$^$9!#(B + + Apache 1.3 $B$G$O!"(B + $B@55,I=8=$O!"DL>o$N%;%/%7%g%s$,$9$Y$FE,MQ$5$l$k$^$G9MN8$5$l$^$;$s!#(B + $B$=$N8e!"$9$Y$F$N@55,I=8=$,@_Dj%U%!%$%k$K8=$l$?=g$G;n$5$l$^$9!#(B + $BNc$($P!"0J2<$N$h$&$J>l9g$K(B</p> + + <blockquote> + <code><Directory ~ abc$><br /> + ... directives here ...<br /> + </Directory><br /> + </code> + </blockquote> + + $B%"%/%;%9$5$l$F$$$k%U%!%$%kL>$,(B + <code>/home/abc/public_html/abc/index.html</code> + $B$G$"$k$H$7$^$7$g$&!#%5!<%P$O(B <code>/</code>, <code>/home</code>, + <code>/home/abc</code>, <code>/home/abc/public_html</code> $B5Z$S(B + <code>/home/abc/public_html/abc</code> $B$N=g$K9MN8$7$^$9!#(B + Apache 1.2 $B$G$"$l$P!"(B<code>/home/abc</code> + $B$NI>2A$r$9$k:]$K!"@55,I=8=$,%^%C%A$7E,MQ$5$l$^$9!#(B + + Apache 1.3 + $B$N>l9g$O@55,I=8=$O%D%j!<>e$N$=$N;~E@$G$OA4$/9MN8$5$l$^$;$s!#(B + $B$9$Y$F$NDL>o$N(B <Directory> $B$H(B <code>.htaccess</code> + $B%U%!%$%k$,I>2A$5$l$k$^$G!"9MN8$5$l$^$;$s!#$=$N8e!"@55,I=8=$O(B + <code>/home/abc/public_html/abc</code> $B$K%^%C%A$7!"E,MQ$5$l$^$9!#(B + + <p><strong>Apache $B$N%G%U%)%k%H$G$O(B <Directory /> + $B$X$N%"%/%;%9$O(B <samp>Allow from All</samp> + $B$K$J$C$F$$$k$3$H$KCm0U$7$F$/$@$5$$!#$3$l$O!"(BURL + $B$+$i%^%C%W$5$l$?$I$N%U%!%$%k$G$b(B Apache $B$OAw$k$H$$$&$3$H$G$9!#(B + $B$3$l$O0J2<$N$h$&$K$7$FJQ99$9$k$3$H$,?d>)$5$l$F$$$^$9!#(B</strong></p> +<pre> + <Directory /> + Order Deny,Allow + Deny from All + </Directory> +</pre> + + <p><strong>$B$=$7$F%"%/%;%9$r(B<em>$B2DG=$K$7$?$$(B</em> + $B%G%#%l%/%H%j$KBP$7$F8DJL$K@_Dj$9$l$P$h$$$G$7$g$&!#(B + $B$3$N$"$?$j$K$D$$$F$O!"(B<a href="../misc/security_tips.html" + >$B%;%-%e%j%F%#$K4X$9$k%3%D(B</a>$B$r;2>H$7$F$/$@$5$$!#(B</strong></p> + $B%G%#%l%/%H%j%;%/%7%g%s$O(B access.conf + $B%U%!%$%k$KB8:_$9$k$N$,0lHLE*$G$9$,!"(B + $B$I$N$h$&$J@_Dj%U%!%$%kCf$K$G$b;XDj$G$-$^$9!#(B + <Directory> $B%G%#%l%/%F%#%V$OF~$l;R$K$9$k$3$H$,$G$-$:!"(B + <a href="#limit"><Limit></a> $B$d(B <a + href="#limitexcept"><LimitExcept></a> + $B%;%/%7%g%s$NCf$K$b5-=R$G$-$^$;$s!#(B + + <p><strong>$B;2>H(B</strong>: $B%j%/%(%9%H$r<u$1$?:]$K!"(B + $B0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$FAH$_9g$o$5$l$k$N$+$K$D$$$F$O(B + <a href="../sections.html">Directory, Location $B5Z$S(B Files + $B%;%/%7%g%s$,$I$N$h$&$KF0:n$9$k$N$+(B</a></p> + <p><strong>$B;2>H(B</strong>: <a + href="#directorymatch">DirectoryMatch</a></p> + <hr /> + + <h2><a id="directorymatch" + name="directorymatch"><DirectoryMatch></a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> <DirectoryMatch + <em>regex</em>> ... </DirectoryMatch> <br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Core.<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.3 $B0J9_$G;HMQ2DG=(B + + <p>$B;XDj$5$l$?%G%#%l%/%H%jG[2<$K$N$_%G%#%l%/%F%#%V$rE,MQ$5$;$k$?$a$K!"(B + <a href="#directory"><Directory></a> $B$HF1MM$K(B + <DirectoryMatch> $B5Z$S(B </DirectoryMatch> + $B$rBP$H$7$F!"%G%#%l%/%F%#%V72$r0O$&$3$H$,$G$-$^$9!#(B + $B$?$@$7!"0z?t$O@55,I=8=$H$J$j$^$9!#Nc$($P!"(B</p> +<pre> + <DirectoryMatch "^/www/.*/[0-9]{3}"> +</pre> + + <p>$B$H$$$C$?;XDj$N>l9g$O(B /www/ $B0J2<$K$"$k?t;z(B 3 + $BJ8;z$N%G%#%l%/%H%j$K%^%C%A$7$^$9!#(B</p> + + <p><strong>$B;2>H(B:</strong> + $BDL>o$N(B <Directory> + $B%;%/%7%g%s$H0l=o$K@55,I=8=$rMxMQ$9$k$?$a$N2r@b$H$7$F$O(B + <a href="#directory"><Directory></a><br /> + <strong>$B;2>H(B</strong>: $B%j%/%(%9%H$r<u$1$?:]$K!"(B + $B0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$FAH$_9g$o$5$l$k$N$+$K$D$$$F$O(B + <a href="../sections.html">Directory, Location $B5Z$S(B Files + $B%;%/%7%g%s$,$I$N$h$&$KF0:n$9$k$N$+(B</a></p> + <hr /> + + <h2><a id="documentroot" name="documentroot">DocumentRoot + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> DocumentRoot + <em>directory-path</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>DocumentRoot + /usr/local/apache/htdocs</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> + $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(Bhttpd + $B$,%U%!%$%k$rDs6!$9$k%G%#%l%/%H%j$r@_Dj$7$^$9!#(BAlias + $B$N$h$&$J%G%#%l%/%F%#%V$K%^%C%A$7$J$$>l9g$K$O!"%I%-%e%a%s%H$N(B + ($BLuCm(B:$B%U%!%$%k%7%9%F%`>e$N(B) $B%Q%9$r@8@.$9$k$?$a$K!"%j%/%(%9%H$5$l$?(B + URL $B$N%Q%9ItJ,$r%I%-%e%a%s%H%k!<%H$KIUM?$7$^$9!#(B + $BNc(B:</p> + + <blockquote> + <code>DocumentRoot /usr/web</code> + </blockquote> + $B$3$N>l9g!"(B + <code>http://www.my.host.com/index.html</code> $B$X$N%"%/%;%9$,$"$l$P(B + <code>/usr/web/index.html</code> $B$,JV$5$l$^$9!#(B + + <p>$B$H$3$m$G!"(BDocumentRoot + $B$N0z?t$N%Q%9$N:G8e$NJ8;z$K%9%i%C%7%e$,;XDj$5$l$F$$$k$H(B + (<em>$BNc$($P(B</em>$B!"(B"DocumentRoot /usr/web/" $B$N$h$&$K(B) + $BLdBj$,5/$3$k$H$$$&(B mod_dir $B$N%P%0$,$"$k$h$&$G$9!#(B + $B$=$N$?$a!"$3$N$h$&$J;XDj$O$7$J$$$h$&$K$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="ebcdicconvert" + name="ebcdicconvert">EBCDICConvert</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> EBCDICConvert + On|Off[=<em>direction</em>] <em>extension</em> + [<em>extension</em>] ...<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B + $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> FileInfo<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> EBCDICConvert $B$O(B + Apache 1.3.19 $B0J9_$G$+$D(B EBCDIC + $B%Y!<%9$N%W%i%C%H%U%)!<%`$K$*$$$F$N$_MxMQ2DG=$G$9!#(B + + <p>EBCDICConvert + $B%G%#%l%/%F%#%V$OM?$($i$l$?%U%!%$%k$N3HD%;R$r;XDj$NJQ49@_Dj(B + (<samp>On</samp> $B$+(B <samp>Off</samp>) $B$K%^%C%W$7$^$9!#(B + $B3HD%;R$N:G=i$N%I%C%H$O$"$C$F$b$J$/$F$b9=$$$^$;$s!#(B</p> + + <p>$B%*%W%7%g%s$N7A<0(B <samp>On=<i>direction</i></samp> ($B$d(B + <samp>Off=<i>direction</i></samp>) $B$,;XDj$5$l$k$H(B (<i>direction</i> + $B$O(B <samp>In</samp>, <samp>Out</samp>, <samp>InOut</samp> $B$N$I$l$+(B)$B!"(B + $B%G%#%l%/%F%#%V$O;XDj$5$l$?8~$-$K$@$1E,MQ$5$l$^$9(B (<samp>In</samp>: + PUT $B$d(B POST $B%j%/%(%9%H$G%3%s%F%s%D$r%"%C%W%m!<%I!"(B<samp>Out</samp>: + GET $B$d(B POST $B%j%/%(%9%H$GJV$5$l$k%3%s%F%s%D!"(B<samp>InOut</samp>: + $BN>J}$N8~$-$GJQ49(B)$B!#(B<br /> + $B$=$l0J30$N7A<0$G$O!"(B<samp>InOut</samp> ($BN>J}$N8~$-$GJQ49(B) + $B$G$"$k$H$_$J$5$l$^$9!#(B</p> + + <p>$B0lHLE*$J(B MIME $B$K4p$E$$$?%k!<%k$r!"(B + $B$h$j:Y$+$$%U%!%$%k$N3HD%;R$K4p$E$$$?%k!<%k$,>e=q$-$G$-$k$h$&$K!"(B + $B3HD%;R$K4p$E$$$?@_Dj$O(B MIME + $B%?%$%W$K4p$E$$$?@_Dj$h$jA0$K;n$5$l$^$9!#(B</p> + + <p><strong>$BNc(B</strong>:<br /> + $B0J2<$N@_Dj$G$O!"IaDL$N(B <samp>*.html</samp> $B%U%!%$%k$O(B + EBCDIC $B%(%s%3!<%G%#%s%0$N(B HTML $B$G!"(B<samp>*.ahtml</samp> $B%U%!%$%k$O(B + ASCII $B%(%s%3!<%G%#%s%0$N(B HTML $B$G$9(B:</p> + +<pre> + # *.html $B$H(B *.ahtml $B$O(B HTML: + AddType text/html .html .ahtml + + # *.ahtml $B$OJQ49$5$l$J$$(B ($B4{$K(B ASCII $B$K$J$C$F$$$k(B): + EBCDICConvert Off .ahtml + + # $BB>$N$9$Y$F$N(B text/html $B%U%!%$%k$O(B EBCDIC $B$N$O$:(B: + EBCDICConvertByType On text/html +</pre> + <br /> + <br /> + + + <p><strong>$B;2>H(B</strong>: <a + href="#ebcdicconvertbytype">EBCDICConvertByType</a> $B$H(B <a + href="../ebcdic.html#ebcdic">EBCDICConvertByType + $BJQ494X?t$N35MW(B</a></p> + <hr /> + + <h2><a id="ebcdicconvertbytype" + name="ebcdicconvertbytype">EBCDICConvertByType</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> EBCDICConvertByType + On|Off[=<em>direction</em>] <em>mimetype</em> + [<em>mimetype</em>] ...<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B + $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> FileInfo<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> EBCDICConvertByType $B$O(B + Apache 1.3.19 $B0J9_$G$+$D(B EBCDIC $B%Y!<%9$N%W%i%C%H%U%)!<%`$K$*$$$F$N$_(B + $BMxMQ2DG=$G$9!#(B + + <p>EBCDICConvertByType $B%G%#%l%/%F%#%V$OM?$($i$l$?(B MIME $B%?%$%W(B + ($B%o%$%k%I%+!<%I$b2D(B) $B$r;XDj$5$l$?JQ49@_Dj(B (<samp>On</samp> $B$+(B + <samp>Off</samp>) $B$K%^%C%W$7$^$9!#(B</p> + + <p>$B%*%W%7%g%s$N7A<0(B <samp>On=<i>direction</i></samp> ($B$d(B + <samp>Off=<i>direction</i></samp>) $B$,;XDj$5$l$k$H(B (<i>direction</i> + $B$O(B <samp>In</samp>, <samp>Out</samp>, <samp>InOut</samp> $B$N$I$l$+(B)$B!"(B + $B%G%#%l%/%F%#%V$O;XDj$5$l$?8~$-$K$@$1E,MQ$5$l$^$9(B (<samp>In</samp>: + PUT $B$d(B POST $B%j%/%(%9%H$G%3%s%F%s%D$r%"%C%W%m!<%I!"(B<samp>Out</samp>: + GET $B$d(B POST $B%j%/%(%9%H$GJV$5$l$k%3%s%F%s%D!"(B<samp>InOut</samp>: + $BN>J}$N8~$-$GJQ49(B)$B!#(B<br /> + $B$=$l0J30$N7A<0$G$O!"(B<samp>InOut</samp> ($BN>J}$N8~$-$GJQ49(B) + $B$G$"$k$H$_$J$5$l$^$9!#(B</p> + + <p><strong>$BNc(B</strong>:<br /> + $BM-MQ$JI8=`@_Dj$K$O0J2<$N%G%U%)%k%H$,$"$k$Y$-$G$9(B:</p> +<pre> + # $B$9$Y$F$N%F%-%9%H%I%-%e%a%s%H$O(B EBCDIF $B$N%U%!%$%k(B: + EBCDICConvertByType On text/* message/* multipart/* + EBCDICConvertByType On application/x-www-form-urlencoded \ + model/vrml application/postscript + # $B$9$Y$F$NB>$N%U%!%$%k$O%P%$%J%j$H$_$J$9(B + EBCDICConvertByType Off */* +</pre> + $BNc$($P(B NFS $B$G%^%&%s%H$5$l$?(B unix + $B%5!<%P$+$i%I%-%e%a%s%H$rAw$k!"$H$$$&$h$&$K(B + ASCII $B$N%I%-%e%a%s%H$N$_$r07$&>l9g$O!"0J2<$N$h$&$K$7$F$/$@$5$$(B: +<pre> + # $B$9$Y$F$N%I%-%e%a%s%H$O4{$K(B ASCII + EBCDICConvertByType Off */* +</pre> + + <p><strong>$B;2>H(B</strong>: <a + href="#ebcdicconvert">EBCDICConvert</a> $B$H(B <a + href="../ebcdic.html#ebcdic">EBCDIC $BJQ494X?t$N35MW(B</a></p> + <hr /> + + <h2><a id="ebcdickludge" + name="ebcdickludge">EBCDICKludge</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> EBCDICKludge + On|Off<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>EBCDICKludge + Off</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B + $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> FileInfo<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> EBCDICKludge $B$O(B Apache + 1.3.19 $B0J9_$G(B EBCDIC $B%Y!<%9$N%W%i%C%H%U%)!<%`$G$N$_;HMQ2DG=$G$9!#(B + $BHs?d>)$G!">-Mh$N%P!<%8%g%s$G$O:o=|$5$l$kM=Dj$G$9!#(B<br /> + + <p>EBCDICKludge $B$O(B apache $B$N%P!<%8%g%s(B 1.3.0 $B$+$i(B 1.3.18 + $B$H$N8_49@-$rJ]$D$?$a$KDs6!$5$l$F$$$^$9!#$=$l$i$N%P!<%8%g%s$G$O!"(B + "text/", "message/", "multipart" $B$G;O$^$k(B MIME $B%?%$%W$H!"(B + "application/x-www-form-urlencoded" + $B$N$9$Y$F$N%U%!%$%k$O%G%U%)%k%H$GJQ49$5$l!"(B + $BB>$N$9$Y$F$N%I%-%e%a%s%H$OL5JQ49$GAw$i$l$F$$$^$7$?!#(B + "<samp>text/<b>x-ascii-</b><i>subtype</i></samp>" + $B$,%I%-%e%a%s%H$KBP$7$F@_Dj$5$l$F$$$k>l9g$K$N$_!"%I%-%e%a%s%H$O(B + ASCII $B%U%)!<%^%C%H$G$"$k$H$_$J$5$l!":FJQ49$5$l$^$;$s$G$7$?!#(B + $BJQ49$9$kBe$o$j$K!"(B"<samp><b>x-ascii-</b></samp>" + $B$,%?%$%W$+$i<h$j=|$+$l!"(B"<samp>text/<i>subtype</i></samp>" + $B$,%I%-%e%a%s%H$N(B MIME $B%?%$%W$K$J$C$F$$$^$7$?!#(B</p> + + <p>EBCDICKludge $B%G%#%l%/%H%j$,(B <samp>On</samp> $B$K@_Dj$5$l$F$$$F!"(B + <a href="#ebcdicconvert">EBCDICConvert</a> $B%G%#%l%/%F%#%V$,$=$3$N(B + $B%3%s%F%-%9%H$K%^%C%A$9$l$P!"%5!<%P$O(B + <samp><i>type/</i><b>x-ascii-</b><i>subtype</i></samp> $B$H$$$&7A<0$N(B + MIME $B%?%$%W$rD4$Y$^$9!#%I%-%e%a%s%H$K$=$N$h$&$J%?%$%W$,$"$l$P!"(B + "<samp><b>x-ascii-</b></samp>" $B$,<h$j=|$+$l$F!"JQ49$O(B <samp>Off</samp> + $B$K@_Dj$5$l$^$9!#Nc$($P(B NFS $B$G%^%&%s%H$5$l$?%G%#%l%/%H%j$N(B + ASCII $B$N%I%-%e%a%s%H$rAw$C$F$$$k$h$&$J>l9g$K!"$3$l$K$h$j(B + $B$9$Y$F$N%F%-%9%H%U%!%$%k$O(B EBCDIC + $B$G$"$k$H$$$&A0Ds$rJQ99$9$k$3$H$,$G$-$^$9!#(B<br /> + EBCDICKludge $B$G$O!"B>$N(B MIME $B%?%$%W(B (<em>$BNc$($P(B</em> model/vrml) $B$r(B + EBCDIC $B$N%F%-%9%H%U%!%$%k$H$7$F07$&$3$H$O$G$-$^$;$s!#(B + $B$=$N$h$&$JJQ49$K$O>e5-$N(B <a + href="#ebcdicconvertbytype">EBCDICConvertByType</a> + $B%G%#%l%/%F%#%V$N;HMQ$,$h$jNI$$J}K!$G$9!#(B(Apache $B%P!<%8%g%s(B 1.3.19 + $B$h$jA0$G$O!"%P%$%J%j%I%-%e%a%s%H$r(B EBCDIC + $B%F%-%9%H%U%!%$%k$H$7$F07$&J}K!$OA4$/$"$j$^$;$s$G$7$?(B)$B!#(B</p> + + <p><strong>$B;2>H(B</strong>: <a + href="#ebcdicconvert">EBCDICConvert</a>, <a + href="#ebcdicconvertbytype">EBCDICConvertByType</a> $B$H(B <a + href="../ebcdic.html#ebcdic">EBCDIC $BJQ494X?t$N35MW(B</a></p> + <hr /> + + <h2><a id="errordocument" name="errordocument">ErrorDocument + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ErrorDocument + <em>error-code document</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B + $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> FileInfo<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> $B%G%#%l%/%H%j<c$7$/$O(B .htaccess + $B%3%s%F%-%9%H$K$*$$$F$N;XDj$O(B Apache 1.1 $B0J9_$G$N$_MxMQ2DG=$G$9!#(B + + <p>$BLdBj$d%(%i!<$,H/@8$7$?$H$-$NF0:n$H$7$F!"(B + Apache $B$K$O0J2<$N;M$D$N$&$A0l$D$NF0:n$r@_Dj$9$k$3$H$,$G$-$^$9!#(B</p> + + <ol> + <li>Apache $BI8=`$N4JC1$J%(%i!<%a%C%;!<%8$rI=<((B</li> + + <li>$B<+J,$G;XDj$7$?%a%C%;!<%8$rI=<((B</li> + + <li>$BLdBj$d%(%i!<$N=hM}$r$9$k0Y$K!"<+%5!<%PFb$N(B + <em>URL-path</em> $B$X%j%@%$%l%/%H(B</li> + + <li>$BLdBj$d%(%i!<$N=hM}$r$9$k0Y$K!"30It$N(B <em>URL</em> + $B$X%j%@%$%l%/%H(B</li> + </ol> + + <p>$B:G=i$N$b$N$,%G%U%)%k%H$NF0:n$G!"(B2 $BHVL\$+$i(B 4 $BHVL\$O!"(B + <code>ErrorDocument</code> $B%G%#%l%/%F%#%V$K$h$j!"(BHTTP + $B$N%l%9%]%s%9%3!<%I$H!"%a%C%;!<%8$+(B URL $B$r;XDj$9$k$3$H$G@_Dj$7$^$9!#(B</p> + + <p><em>$B%a%C%;!<%8(B</em>$B$r5-=R$9$k>l9g$K$O!"Fs=E0zMQId(B 1 $BJ8;z(B + (<code>"</code>) $B$r:G=i$KIUM?$7$^$9!#(B + $BFs=E0zMQId$O%a%C%;!<%8$K$O4^$^$l$^$;$s!#(B + Apache $B$O>l9g$K$h$C$F!"LdBj$d%(%i!<$K$D$$$FIU2CE*$J>pJs$rDs6!$7$^$9!#(B</p> + + <p>URL $B$N>l9g$O!"%m!<%+%k$N(B URL $B$N;XDj$H$7$F%9%i%C%7%e$G;O$^$k(B (/) + $B%Q%9$+!"%/%i%$%"%s%H$,2r<a$G$-$k%U%k(B URL $B$r;XDj$7$^$9!#(B<br /> + $BNc(B:</p> + + <blockquote> + <code>ErrorDocument 500 + http://foo.example.com/cgi-bin/tester<br /> + ErrorDocument 404 /cgi-bin/bad_urls.pl<br /> + ErrorDocument 401 /subscription_info.html<br /> + ErrorDocument 403 "Sorry can't allow you access today</code> + </blockquote> + + <p>$B%j%b!<%H(B URL ($BNc$($P!"F,$K(B http $B$HIUM?$7$?J}K!(B) $B$r(B + <code>ErrorDocument</code> $B$K;XDj$9$k$H$-!"(B + $B$?$H$(J8=q$,F1$8%5!<%P$K$"$m$&$H$b!"%I%-%e%a%s%H$,$I$3$K$"$k$+$rDLCN$9$k$?$a$K!"(B + Apache $B$O%j%@%$%l%/%H$r%/%i%$%"%s%H$KAw=P$9$k$H$$$&$3$H$K!"Cm0U$7$F$/$@$5$$!#(B + $B$3$l$K$O$$$m$$$m$H4XO"$7$F5/$3$kLdBj$,$"$j$^$9!#(B + $BCf$G$b:G$b=EMW$J$N$O!"%/%i%$%"%s%H$O85!9$N%(%i!<%9%F!<%?%9%3!<%I$r<u$1<h$i$:!"(B + $BBe$o$j$K%j%@%$%l%/%H$N%9%F!<%?%9%3!<%I$r<u$1<h$k$H$$$&$3$H$G$9!#(B + $B$3$l$K$h$j!"%9%F!<%?%9%3!<%I$r;H$C$F(B URL $B$,M-8z$G$"$k$+$I$&$+$r7hDj$7$h$&$H$9$k(B + $B%&%'%V%m%\%C%H$d$=$NB>%/%i%$%"%s%H$r!":.Mp$5$;$k$+$b$7$l$^$;$s!#(B + $B$5$i$K!"(B<code>ErrorDocument 401</code> $B$K%j%b!<%H$N(B URL $B$r;XDj$9$k$H!"(B + $B%/%i%$%"%s%H$O(B 401 $B$H$$$&%9%F!<%?%9%3!<%I$r<u$1<h$i$J$$$?$a!"(B + $B%Q%9%o!<%I$r%f!<%6$KF~NOMW5a$7$J$1$l$P$J$i$J$$$3$H$,$o$+$j$^$;$s!#(B + $B=>$C$F!"(B<strong>"ErrorDocument 401" $B$H$$$&%G%#%l%/%F%#%V$r;H$&>l9g$O!"(B + $BI,$:%m!<%+%k$JJ8=q$r;2>H$7$J$1$l$P$J$j$^$;$s!#(B</strong></p> + + <p>$B;2>H(B: <a href="../custom-error.html">$B%l%9%]%s%9$r%+%9%?%^%$%:$9$kJ}K!$K$D$$$F$N2r@b!#(B</a> + $B%9%F!<%?%9%3!<%I$H$=$N0UL#$N40A4$J%j%9%H$O(B <a + href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">HTTP + $B;EMM=q(B</a>$B$r;2>H$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="errorlog" name="errorlog">ErrorLog + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ErrorLog + <em>file-pathh</em>|syslog[:<em>facility</em>] <br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ErrorLog + logs/error_log</code> (Unix)<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ErrorLog + logs/error.log</code> (Windows and OS/2)<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B%(%i!<%m%0%G%#%l%/%F%#%V$O!"%5!<%P$K@8$8$?$5$^$6$^$J%(%i!<$r(B + $B5-O?$9$k$?$a$N%U%!%$%k$NL>A0$r@_Dj$7$^$9!#(B + <em>file-path</em> $B$,%9%i%C%7%e(B (/) $B$+$i;O$^$i$J$$>l9g$O!"(B<a + href="#serverroot">ServerRoot</a> $B$+$i$NAjBP%Q%9$H$_$J$5$l$^$9!#(B + <em>file-path</em> $B$,%Q%$%W(B (|) $B$+$i;O$^$k>l9g$O!"(B + $B%(%i!<%m%0$r=hM}$9$k$?$a$K<B9T$5$l$k%3%^%s%I$,(B + $B;XDj$5$l$F$$$k$H2r<a$5$l$^$9!#(B</p> + + <p>$BNc(B</p> + + <p><code>ErrorLog logs/vhost1.error</code></p> + + or + + <p><code>ErrorLog |/usr/local/bin/errorlog.pl</code></p> + + <p><strong>Apache 1.3 $B0J9_$N>l9g(B:</strong> $B%U%!%$%kL>$NBe$o$j$K(B + <code>syslog</code> $B$H;XDj$9$k$3$H$K$h$C$F!"(B + $B%7%9%F%`$,%5%]!<%H$7$F$$$l$P(B syslogd(8) + $B$rMxMQ$7$?%m%.%s%0$,M-8z$K$J$j$^$9!#%G%U%)%k%H$G$O!"(B + <code>local7</code> $B%U%!%7%j%F%#$H$J$j$^$9$,!"(B + <code>syslog:</code><em>facility</em> + $B$H$$$C$?7A$G5-=R$9$k$3$H$K$h$j!"DL>o(B syslog(1) + $B$N%I%-%e%a%s%H$G@bL@$5$l$F$$$k%U%!%7%j%F%#$N0l$D$r;H$&$h$&$K(B + $B$9$k$3$H$,$G$-$^$9!#(B</p> + + <p>$BNc(B:</p> + + <p><code>ErrorLog syslog</code></p> + + or + + <p><code>ErrorLog syslog:user</code></p> + + <p>$B%;%-%e%j%F%#(B: + $B%m%0%U%!%$%k$r3JG<$9$k%G%#%l%/%H%j$,!"%5!<%P$r5/F0$7$?%f!<%60J30$N(B + $B%f!<%6$K$h$C$F=q$-9~$a$k>l9g$K%;%-%e%j%F%#$,GK$i$l$k2DG=@-$,$"$k$3$H$K(B + $B4X$9$k>\:Y$O(B <a + href="../misc/security_tips.html#serverroot">$B%;%-%e%j%F%#$K4X$9$k%3%D(B</a> + $B$r;2>H$7$F$/$@$5$$!#(B</p> + + + <p><strong>$B;2>H(B:</strong> <a href="#loglevel">LogLevel</a> + $B5Z$S(B <a href="../logs.html">Apache $B$N%m%0%U%!%$%k(B</a></p> + <hr /> + + <h2><a id="fileetag" name="fileetag">FileETag $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> FileETag + <i>component</i> ...<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B + $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> FileInfo<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.3.23 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>FileETag + $B%G%#%l%/%F%#%V$O%I%-%e%a%s%H$,%U%!%$%k$K4p$E$$$?$b$N$G$"$k$H$-$K!"(B + ETag ($B%(%s%F%#%F%#%?%0(B) $B1~Ez%X%C%@%U%#!<%k%I$r:n@.$9$k$H$-$K;HMQ$9$k(B + $B%U%!%$%k$NB0@-$r@_Dj$7$^$9!#(B (ETag $B$NCM$O%M%C%H%o!<%/$NBS0h$r@aLs$9$k$?$a$N(B + $B%-%c%C%7%e$N4IM}$G;H$o$l$^$9!#(B) Apache 1.3.22 $B0JA0$G$O!"(BETag $B$NCM$O(B + <i>$B>o$K(B</i>$B%U%!%$%k$N(B inode, $B%5%$%:!":G=*=$@5;~9o(B (mtime) $B$+$i:n@.(B + $B$5$l$F$$$^$7$?!#(BFileETag $B%G%#%l%/%F%#%V$K$h$j!"$3$l$i$N$I$l$r;H$&$+$r(B + $BA*$V$3$H$,$G$-$^$9!#G'<1$5$l$k%-!<%o!<%I$O(B: + </p> + <dl compact="compact"> + <dt><b>INode</b></dt> + <dd>$B%U%!%$%k$N(B inode $BHV9f$r7W;;$K;H$$$^$9(B</dd> + <dt><b>MTime</b></dt> + <dd>$B%U%!%$%k$N:G=*=$@5;~9o$r;H$$$^$9(B</dd> + <dt><b>Size</b></dt> + <dd>$B%U%!%$%k$NCf?H$N%P%$%H?t$r;H$$$^$9(B</dd> + <dt><b>All</b></dt> + <dd>$B;HMQ2DG=$J$9$Y$F$N%U%#!<%k%I$r;H$$$^$9(B + ('<code>FileETag INode MTime Size</code>' $B$HEy2A$G$9(B)</dd> + <dt><b>None</b></dt> + <dd>$B%I%-%e%a%s%H$,%U%!%$%k$K4p$E$$$?$b$N$G$b!"(BETag $B%U%#!<%k%I$r(B + $B1~Ez$KIU2C$7$^$;$s(B</dd> + </dl> + <p> + INode, MTime, Size $B%-!<%o!<%I$K$O(B '+' $B$d(B '-' $B$rA0$KIU$1$F(B + $B;XDj$9$k$3$H$b$G$-$^$9!#$3$N>l9g$O!"$h$j9-$$HO0O$+$i7Q>5$5$l$?(B + $B%G%U%)%k%H$N@_Dj$KJQ99$r2C$($k$h$&$K$J$j$^$9!#$=$N$h$&$J@\F,<-$N(B + $BL5$$%-!<%o!<%I$r;XDj$9$k$H!"B(:B$K7Q>5$7$?@_Dj$rL58z$K$7$^$9!#(B</p> + <p> + $B$"$k%G%#%l%/%H%j$N@_Dj$K(B + '<code>FileETag INode MTime Size</code>' $B$,$"$j!"(B + $B%5%V%G%#%l%/%H%j$N@_Dj$K(B '<code>FileETag -INode</code>' $B$,$"$k$H$-$O!"(B + $B$=$N%5%V%G%#%l%/%H%j$N@_Dj$O(B ($B@_Dj$,>e=q$-$5$l$J$1$l$P%5%V%G%#%l%/%H%j$N(B + $B%5%V%G%#%l%/%H%j$K$b7Q>5$5$l$^$9(B) '<code>FileETag MTime Size</code>' + $B$HF1$8$K$J$j$^$9!#(B</p> + <hr /> + + <h2><a id="files" name="files"><Files> $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> <Files + <em>filename</em>> ... </Files><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B.htaccess<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p><Files> $B%G%#%l%/%F%#%V$O!"%U%!%$%kL>$K$h$k%"%/%;%9@)8f$r9T$&$b$N$G!"(B<a + href="#directory"><Directory></a> $B%G%#%l%/%F%#%V$d(B <a + href="#location"><Location></a> $B%G%#%l%/%F%#%V$HF1$8$h$&$J5!G=$r;}$A$^$9!#(B + $B$3$l$O!"(B</Files> $B%G%#%l%/%F%#%V$HBP$K$J$C$F$$$J$1$l$P$J$j$^$;$s!#(B + $B$3$N%;%/%7%g%sCf$N%G%#%l%/%F%#%V$O!"%Y!<%9L>(B ($B%U%!%$%kL>$N:G8e$NItJ,(B) + $B$,;XDj$5$l$?%U%!%$%kL>$K%^%C%A$9$k$9$Y$F$N%*%V%8%'%/%H$KE,MQ$5$l$^$9!#(B + + <code><Files></code> $B%;%/%7%g%s$O(B <Directory> + $B%;%/%7%g%s$H(B <code>.htaccess</code> $B$,FI$_9~$^$l$?8e!"(B + <Location> + $B%;%/%7%g%s$h$j$O@h$K@_Dj%U%!%$%k$K8=$l$?=g$KE,MQ$5$l$^$9!#(B + <Files> $B$O!"(B<Directory> + $B%;%/%7%g%sFb$K%M%9%H$5$;$k$3$H$,$G$-!"(B + $B%U%!%$%k%7%9%F%`$N0lIt$K$N$_8BDj$7$FE,MQ$5$;$k$3$H$,$G$-$^$9!#(B</p> + + <p><em>filename</em> + $B0z?t$O!"%U%!%$%kL>$+%o%$%k%I%+!<%IJ8;zNs$G!"%o%$%k%I%+!<%I$G$O(B + `?' $B$O0l$D$NJ8;z!"(B`*' $B$OG$0U$NJ8;zNs$K%^%C%A$7$^$9!#(B<code>~</code> + $B$H$$$&J8;z$rIU2C$9$k$3$H$G3HD%@55,I=8=$r;H$&$3$H$b$G$-$^$9!#(B + $BNc$($P!"(B</p> +<pre> + <Files ~ "\.(gif|jpe?g|png)$"> +</pre> + $B$H$9$k$3$H$K$h$j!"0lHLE*$J%$%s%?!<%M%C%H$N2hA|%U%)!<%^%C%H$K%^%C%A$7$^$9!#(B + $B$?$@$7!"(BApache 1.3 $B0J9_$N>l9g$K$O!"(B + <a href="#filesmatch"><FilesMatch></a> $B$r;H$&J}$,?d>)$5$l$F$$$^$9!#(B + + <p>$B$A$J$_$K!"(B<a + href="#directory"><code><Directory></code></a> $B5Z$S(B <a + href="#location"><code><Location></code></a> $B%;%/%7%g%s$H$O0[$J$j!"(B + <code><Files></code> + $B$O(B .htaccess $B%U%!%$%kFb$GMxMQ$9$k$3$H$,$G$-$^$9!#(B + $B$3$l$K$h$j!"%f!<%6$,%U%!%$%kKh$K%"%/%;%9$N@)8f$r9T$J$&$3$H$,$G$-$k$h$&$K(B + $B$J$C$F$$$^$9!#(B + $BNc$($P!"%G%#%l%/%H%jFb$K$"$k0l$D$N%U%!%$%k$KBP$7$F%Q%9%o!<%I$K$h$kJ]8n$r9T$&$K$O!"(B + <code>.htaccess</code> $B$K0J2<$N$h$&$J@_Dj$rDI2C$9$l$PNI$$$G$7$g$&!#(B</p> + + <pre> + <Files admin.cgi> + Require group admin + </Files></pre> + + <p>$B$J$*!"$3$N%G%#%l%/%F%#%V$O%5%V%G%#%l%/%H%j$K$bE,MQ$5$l!"(B + $B>e$NNc$N>l9g$K$O!"FC$K@_Dj$,>e=q$-$5$l$J$$8B$j!"(B + $B%5%V%G%#%l%/%H%jCf$N(B <code>admin.cgi</code> + $B$H$$$&%U%!%$%k$K$bJ]8n$,$+$+$k$H$$$&$3$H$rK:$l$J$$$G$/$@$5$$!#(B</p> + + <p>(<code>Require</code> $B%G%#%l%/%F%#%V$N;H$$J}$K$D$$$F$O!"(B<a + href="#require">Require</a>$B$r;2>H$7$F$/$@$5$$!#(B)</p> + + <p><strong>$B;2>H(B</strong>: + $B%j%/%(%9%H$r<u$1$?:]$K!"0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$F(B + $BAH$_9g$o$5$l$k$N$+$K$D$$$F$O(B <a href="../sections.html"> + Directory, Location, Files $B%;%/%7%g%s$NF0:nJ}K!(B</a></p> + <hr /> + + <h2><a id="filesmatch" + name="filesmatch"><FilesMatch></a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> <FilesMatch + <em>regex</em>> ... </FilesMatch><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"(B.htaccess<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.3 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p><FilesMatch> $B%G%#%l%/%F%#%V$O!"(B<a href="#files"><Files></a> + $B%G%#%l%/%F%#%VF1MM$K%U%!%$%kL>$K$h$k%"%/%;%9@)8f$N5!G=$rDs6!$7$^$9!#$?$@$7!"(B + $B$3$N%G%#%l%/%F%#%V$K$O@55,I=8=$r;XDj$7$^$9!#(B + $BNc$($P(B:</p> +<pre> + <FilesMatch "\.(gif|jpe?g|png)$"> +</pre> + + <p>$B$O0lHLE*$J%$%s%?!<%M%C%H$N2hA|7A<0$K%^%C%A$7$^$9!#(B</p> + <p><strong>$B;2>H(B</strong>: + $B%j%/%(%9%H$r<u$1$?:]$K!"0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$F(B + $BAH$_9g$o$5$l$k$N$+$K$D$$$F$O(B <a href="../sections.html"> + Directory, Location, Files $B%;%/%7%g%s$NF0:nJ}K!(B</a></p> + <hr /> + + <h2><a id="group" name="group">Group $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> Group + <em>unix-group</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>Group + #-1</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>Group + $B%G%#%l%/%F%#%V$O!"%5!<%P$,%j%/%(%9%H$K1~Ez$9$k:]$N%0%k!<%W$r@_Dj$7$^$9!#(B + $B$3$N%G%#%l%/%F%#%V$r;H$&$?$a$K$O!"%9%?%s%I%"%m!<%s%5!<%P$r(B root + $B$G5/F0$7$J$1$l$P$J$j$^$;$s!#(B + <em>Unix-group</em> $B$O!"0J2<$N$I$A$i$+$r$H$j$^$9!#(B</p> + + <dl> + <dt>$B%0%k!<%WL>(B</dt> + + <dd>$BL>A0$G%0%k!<%W$r;XDj$7$^$9!#(B</dd> + + <dt># $B$r@hF,$K%0%k!<%W(BID</dt> + + <dd>$B?t;z$G%0%k!<%W$r;XDj$7$^$9!#(B</dd> + </dl> + <p>$B%5!<%P$r<B9T$9$k$?$a$K?7$7$$%0%k!<%W$r:n@.$9$k$3$H$,?d>)$5$l$F$$$^$9!#(B + <code>nobody</code> $B$H;XDj$9$k4IM}<T$b$$$^$9$,!"$=$N%f!<%6$OMxMQ2DG=$G$J$$(B + $B>l9g$b$"$j$^$9$7!"K>$^$7$/$b$"$j$^$;$s!#(B</p> + + <p>$BNc(B:</p> + + <code>Group www-group</code> + + <p>$BCm0UE@(B: root $B%f!<%60J30$G%5!<%P$r5/F0$5$l$?>l9g!"(B + $B;XDj$7$?%0%k!<%W$X0\$k$3$H$,$G$-$:!"$=$N$^$^$N%f!<%6$G<B9T$5$l$^$9!#(B</p> + + <p>$BFC$KCm0U$9$Y$-E@(B: <VirtualHost> + $BFb$G$3$N%G%#%l%/%F%#%V$r;HMQ$9$k$?$a$K$O!"(B<a href="../suexec.html">suEXEC + $B%i%C%Q!<(B</a>$B$,@_Dj$5$l$F$$$J$1$l$P$J$j$^$;$s!#(B + $B$3$N>l9g!"(BCGI $B$r<B9T$9$k$H$-$K$N$_!";XDj$7$?%0%k!<%W$,MxMQ$5$l$^$9!#(B + CGI $B0J30$N>l9g$K$O!"%a%$%s@_Dj$K$*$1$k(B Group + $B%G%#%l%/%F%#%V$G;XDj$5$l$?%0%k!<%W$G=hM}$5$l$^$9!#(B</p> + + <p>$B%;%-%e%j%F%#(B: $B%;%-%e%j%F%#$K4X$9$k2r@b$O(B <a href="#user">User</a> + $B$r;2>H$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="hostnamelookups" + name="hostnamelookups">HostnameLookups $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> HostnameLookups + on|off|double<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>HostnameLookups + off</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> + <code>double</code> $B$O(B Apache 1.3 $B0J9_$GMxMQ2DG=$G$9!#(B<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.3 $B$h$jA0$O%G%U%)%k%H$,(B + <code>on</code> $B$K$J$C$F$$$^$9!#(B + + <p>$B$3$N%G%#%l%/%F%#%V$O!"%[%9%HL>$r%m%0<}=8$G$-$k$h$&$K(B DNS + $B%k%C%/%"%C%W$rM-8z$K$7$^$9(B ($B$5$i$K!"(BCGI/SSI $B$K(B + <code>REMOTE_HOST</code> $BJQ?t$H$7$FEO$7$^$9(B)$B!#(B<code>double</code> + $B$r;XDj$7$?>l9g!"Fs=E$N5U0z$-$r9T$$$^$9!#$D$^$j!"5U0z$-$N8e$K!"(B + $B$=$N7k2L$KBP$7$F@50z$-$r9T$$$^$9!#@50z$-$N7k2L$N(B IP + $B%"%I%l%9$NCf$K%*%j%8%J%k$N%"%I%l%9$H0lCW$9$k$b$N$,$J$1$l$P$J$j$^$;$s(B + ("tcpwrappers" $B$NMQ8l$G$O(B PARANOID $B$H8F$P$l$F$$$^$9(B)$B!#(B</p> + + <p>$B$A$J$_$K!"(B<a href="mod_access.html">mod_access</a> + $B$G%[%9%HL>$K$h$k%"%/%;%9@)8f$r9T$&>l9g$K$O!"@_Dj$NG!2?$K$h$i$:(B + $BFs=E$N5U0z$-$,<B9T$5$l$^$9!#(B + $B$3$l$O!"%;%-%e%j%F%#$rJ]$D$?$a$KI,MW$G$9!#(B + <code>HostnameLookups double</code> $B$r@_Dj$7$J$$8B$j!"(B + $BB>$NItJ,$O$3$NFs=E5U0z$-$N7k2L$r;H$&$3$H$O$G$-$^$;$s!#Nc$($P!"(B + <code>HostnameLookups on</code> $B$H@_Dj$7$F$"$k>uBV$G!"(B + $B%[%9%HL>$K$h$k%"%/%;%9@)8B$r9T$C$?%*%V%8%'%/%H$X$N(B + $B%j%/%(%9%H$r<u$1$?$H$9$k$H!"Fs=E$N5U0z$-$,@.8y$9$k$+H]$+$K$h$i$:!"(B + <code>REMOTE_HOST</code> $B$K$ODL>o$N5U0z$-7k2L$,EO$5$l$^$9!#(B</p> + + <p>Apache 1.3 $B$h$jA0$N%P!<%8%g%s$G$O!"$3$N%G%#%l%/%F%#%V$N%G%U%)%k%H$O(B + <code>on</code> $B$G$7$?$,!"(B + $BK\Ev$K5U0z$-$rI,MW$H$7$F$$$k$o$1$G$O$J$$%5%$%H$N(B + $B%M%C%H%o!<%/%H%i%U%#%C%/$rDc8:$5$;$k$?$a$K!"(B<code>off</code> + $B$KJQ99$5$l$^$7$?!#%k%C%/%"%C%W$K$h$kM>7W$JCY1d$,$J$/$J$k$?$a!"(B + $B%(%s%I%f!<%6$K$H$C$F$bNI$$$G$7$g$&!#(B + DNS $B$N%k%C%/%"%C%W$K$O!"$+$J$j$N;~4V$,I,MW$H$J$k>l9g$,B?$/!"(B + $BIi2Y$N9b$$%5%$%H$G$O$3$N%G%#%l%/%F%#%V$O(B <code>off</code> + $B$K$9$Y$-$G$9!#$J$*!"(B<em>/support</em> $B%G%#%l%/%H%j$K4^$^$l$k(B + <a href="../programs/logresolve.html">logresolve</a> + $B%f!<%F%#%j%F%#$K$h$j!"(BApache $B$NF0:n$H$OJL$K!"%m%0$K;D$5$l$F$$$k(B + IP $B%"%I%l%9$+$i%[%9%HL>$r%k%C%/%"%C%W$9$k$3$H$,2DG=$G$9!#(B</p> + <hr /> + + <h2><a id="identitycheck" name="identitycheck">IdentityCheck + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> IdentityCheck + on|off<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>IdentityCheck + off</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"(B + $B%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B$3$N%G%#%l%/%F%#%V$O!"%/%i%$%"%s%H%^%7%s>e$G(B + identd $B$d$=$l$KN`;w$7$?%G!<%b%s$,F0:n$7$F$$$k$H$-$K!"(B + $B$=$l$>$l$N@\B3$KBP$7$F(B RFC 1413 + $B$K=`=h$7$?%j%b!<%H%f!<%6$NL>A0$N%m%.%s%0$r9T$&$h$&$K$7$^$9!#(B + $B$3$N>pJs$O!"%"%/%;%9%m%0$K<}=8$5$l$^$9!#(B</p> + + <p>$B$3$3$GF@$i$l$?>pJs$O4JC1$J%f!<%6DI@W$K;H$&0J30$O!"(B + $BA4$/?.Mj$9$k$Y$-$G$O$"$j$^$;$s!#(B</p> + + <p>$B$9$Y$F$N%j%/%(%9%H$KBP$7$F%k%C%/%"%C%W$,9T$o$l$^$9$N$G!"(B + $B?<9o$JCY1d$NLdBj$r5/$3$9$+$b$7$l$J$$$3$H$KCm0U$7$F$/$@$5$$!#(B + ($BLuCm(B: $BNc$($P%/%i%$%"%s%HB&$K(B) $B%U%!%$%"%&%)!<%k$,$"$k$H!"(B + $B%k%C%/%"%C%W$,<:GT$7!"3F%j%/%(%9%H$K(B 30 + $BIC$NCY1d$,2C$o$k$3$H$K$J$k2DG=@-$,$"$j$^$9!#(B + $B=>$C$F!"0lHLE*$K$O%$%s%?!<%M%C%H$+$i%"%/%;%92DG=$J%Q%V%j%C%/$J%5!<%P$G(B + $BM-1W$J$b$N$G$O$"$j$^$;$s!#(B</p> + <hr /> + + <h2><a id="ifdefine" name="ifdefine"><IfDefine> + $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> <IfDefine + [!]<em>parameter-name</em>> <em>...</em> + </IfDefine><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> None<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B$9$Y$F(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> <IfDefine> + $B$O(B Apache 1.3.1 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p><IfDefine <em>test</em>>...</IfDefine> + $B%;%/%7%g%s$O!"%G%#%l%/%F%#%V$r>r7oIU$-$G;XDj$9$k$?$a$KMxMQ$7$^$9!#(B + IfDefine $B%;%/%7%g%s$K4^$^$l$k%G%#%l%/%F%#%V$O!"(B<em>test</em> + $B$,Dj5A$5$l$F$$$k$H$-$N$_=hM}$5$l$^$9!#$b$7!"(B<em>test</em> + $B$,Dj5A$5$l$F$$$J$1$l$P!"(B + $B3+;O$H=*N;$N;XDj$N4V$N%G%#%l%/%F%#%V$OL5;k$5$l$^$9!#(B</p> + + <p><IfDefine> $B%;%/%7%g%s%G%#%l%/%F%#%V$K;XDj$9$k(B + <em>test</em> $B$O!"<!$NFs$D$N7A<0$N$&$A$N0l$D$r$H$j$^$9!#(B</p> + + <ul> + <li><em>parameter-name</em></li> + + <li><code>!</code><em>parameter-name</em></li> + </ul> + + <p>$BA0<T$N%1!<%9$G$O!"$b$7(B <em>parameter-name</em> + $B$HL>IU$1$i$l$?%Q%i%a!<%?$,Dj5A$5$l$F$$$l$P!"(B + $B3+;O$H=*N;$N4V$N%G%#%l%/%F%#%V$,=hM}$5$l$^$9!#8e<T$N>l9g$O5U$G!"(B + <em>parameter-name</em> + $B$,;XDj$5$l$F(B<strong>$B$$$J$$(B</strong>$B>l9g$K=hM}$5$l$^$9!#(B</p> + + <p><em>parameter-name</em> $B0z?t$O!"%5!<%P$r5/F0$9$k:]$K(B + <code>httpd</code> $B$N%3%^%s%I%i%$%s$K(B + <code>-D</code><em>parameter-</em> $B$H$$$&7A$G;XDj$9$k$HDj5A$5$l$^$9!#(B </p> + + <p><IfDefine> $B%;%/%7%g%s$OF~$l;R$K$9$k$3$H$,$G$-!"(B + $BJ#?t$N%Q%i%a!<%?$K$h$k%F%9%H$r$9$k$?$a$K;HMQ$G$-$^$9!#(B + $BNc(B:</p> +<pre> + $ httpd -DReverseProxy ... + + # httpd.conf + <IfDefine ReverseProxy> + LoadModule rewrite_module libexec/mod_rewrite.so + LoadModule proxy_module libexec/libproxy.so + </IfDefine> +</pre> + <hr /> + + <h2><a id="ifmodule" name="ifmodule"><IfModule> + $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> <IfModule + [!]<em>module-name</em>> <em>...</em> + </IfModule><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> None<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B$9$Y$F(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> IfModule $B$O(B Apache 1.2 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p><IfModule <em>test</em>>...</IfModule> + $B%;%/%7%g%s$O!"%G%#%l%/%F%#%V$r>r7oIU$-$G;XDj$9$k$?$a$KMxMQ$7$^$9!#(B + IfModule $B%;%/%7%g%s$K4^$^$l$k%G%#%l%/%F%#%V$O!"(B<em>test</em> + $B$G;XDj$9$k%b%8%e!<%k$,AH$_9~$^$l$F$$$k$H$-$N$_=hM}$5$l$^$9!#$b$7(B + <em>test</em> $B$,AH$_9~$^$l$F$$$J$1$l$P!"3+;O$H=*N;$N4V$N%G%#%l%/%F%#%V(B + $B$OL5;k$5$l$^$9!#(B</p> + + <p><IfModule> $B%;%/%7%g%s%G%#%l%/%F%#%V$K;XDj$9$k(B + <em>test</em> $B$O!"<!$NFs$D$N7A<0$N$&$A$N0l$D$r$H$j$^$9!#(B</p> + + <ul> + <li><em>module name</em></li> + + <li>!<em>module name</em></li> + </ul> + + <p>$BA0<T$N%1!<%9$G$O!"$b$7(B<em>module name</em> + $B$HL>IU$1$i$l$?%b%8%e!<%k$,(B Apache $B$KAH$_9~$^$l$F$$$l$P(B + ($B%3%s%Q%$%k:Q$_$N$b$N$H!"(B<a + href="mod_so.html#loadmodule">LoadModule</a> + $B$rMxMQ$7$FF0E*$KFI$_9~$s$@$b$N$NN>J}(B)$B!"(B + $B3+;O$H=*N;$N4V$N%G%#%l%/%F%#%V$,=hM}$5$l$^$9!#8e<T$N>l9g$O5U$G!"(B + <em>module name</em> + $B$,AH$_9~$^$l$F(B<strong>$B$$$J$$(B</strong>$B>l9g$K=hM}$5$l$^$9!#(B</p> + + <p><em>module name</em> + $B0z?t$O!"%3%s%Q%$%k$r$7$?;~$N%b%8%e!<%k$N%U%!%$%kL>$G!"Nc$($P(B + <code>mod_rewrite.c</code> $B$H$$$C$?7A$K$J$j$^$9!#(B</p> + + <p><IfModule> $B%;%/%7%g%s$OF~$l;R$K$9$k$3$H$,2DG=$G$"$j!"(B + $BJ#?t$N%b%8%e!<%k$N%F%9%H$r9T$&$?$a$K;HMQ$G$-$^$9!#(B</p> + <hr /> + + <h2><a id="include" name="include">Include $B%G%#%l%/%F%#%V(B</a></h2> + <strong>$B9=J8(B:</strong> Include + <em>file-path</em>|<em>directory-path</em>|<em>wildcard-path</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Include $B$O(B Apache 1.3 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B$3$N%G%#%l%/%F%#%V$K$h$j!"%5!<%P$N@_Dj%U%!%$%k$+$i(B + $BB>$N@_Dj%U%!%$%k$r%$%s%/%k!<%I$9$k$3$H$,$G$-$^$9!#(B</p> + + <p><em>file-path</em> $B$O!"(B($B%9%i%C%7%e$+$i;O$^$k(B) $B%U%k%Q%9$+!"(B + <code>ServerRoot</code> $B$+$i$NAjBP%Q%9$G;XDj$7$^$9!#(B</p> + + <p>Apache 1.3.13 $B$+$i!"(B<code>Include</code> $B$K%U%!%$%k$NBe$o$j$K(B + $B%G%#%l%/%H%j$r;XDj$9$k$3$H$K$h$C$F!"(B + $B%G%#%l%/%H%j$H$=$N%5%V%G%#%l%/%H%jFb$N$9$Y$F$N%U%!%$%k$r(B + $BFI$_9~$s$G=hM}$G$-$k$h$&$K$J$j$^$7$?!#(B</p> + <p>$B%o%$%k%I%+!<%I$r;H$&$3$H$G!"$3$l$rNc$($P(B '*.conf' + $B%U%!%$%k$N$_$K@)8B$9$k$3$H$,$G$-$^$9!#(B</p> + + <p>$BNc(B:</p> + + <blockquote> + <code>Include /usr/local/apache/conf/ssl.conf<br /> + Include /usr/local/apache/conf/vhosts/ + </code> + </blockquote> + + <p><code>ServerRoot</code> $B$+$i$NAjBP%Q%9$N>l9g$O(B:</p> + + <blockquote> + <code>Include conf/ssl.conf<br /> + Include conf/vhosts/ + </code> + </blockquote> + + <p>$B$J$*!"%G%#%l%/%H%j$r;XDj$9$k:]$O!"%(%G%#%?$N%F%s%]%i%j%U%!%$%k$J$I!"(B + $BL\E*30$N%U%!%$%k$rCV$+$J$$$h$&$K$7$J$1$l$P$J$j$^$;$s!#(B + $B$=$N$h$&$J%U%!%$%k$,$"$k$H!"(BApache $B$O$=$l$i$+$i%G%#%l%/%F%#%V$r(B + $BFI$_9~$b$&$H$7$F!"5/F0$K<:GT$9$k$+$b$7$l$^$;$s!#(B + <code>apachectl configtest</code> $B$r<B9T$9$k$H!"@_Dj$r%A%'%C%/$7$F$$$k;~$K(B + $BFI$_9~$^$l$?%U%!%$%k$N%j%9%H$,I=<($5$l$^$9(B:</p> + +<pre> +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 +</pre> + + <p>$B$3$l$K$h$j!"@_Dj$N0lIt$H$7$F0U?^$7$?%U%!%$%k$@$1$,(B + $B;H$o$l$F$$$k$+$I$&$+$r3NG'$G$-$^$9!#(B</p> + <p><strong>$B;2>H(B</strong>: <a + href="../programs/apachectl.html">apachectl</a></p> + + <hr /> + + <h2><a id="keepalive" name="keepalive">KeepAlive + $B%G%#%l%/%F%#%V(B</a></h2> + <strong>Syntax: (Apache 1.1)</strong> KeepAlive + <em>max-requests</em><br /> + <strong>Default: (Apache 1.1)</strong> <code>KeepAlive + 5</code><br /> + <strong>Syntax: (Apache 1.2)</strong> KeepAlive on|off<br /> + <strong>Default: (Apache 1.2)</strong> <code>KeepAlive + On</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> KeepAlive $B$O(B Apache 1.1 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>HTTP/1.0 $B$N(B Keep-Alive $B3HD%$H(B HTTP/1.1 + $B$N;}B3E*@\B3$N5!G=$O!"J#?t$N%j%/%(%9%H$,F1$8(B TCP + $B$N@\B3$GAw$i$l$k!"D9;~4V;}B3$9$k(B HTTP + $B%;%C%7%g%s$rDs6!$7$^$9!#$?$/$5$s$N2hA|$,4^$^$l$k(B HTML + $B%I%-%e%a%s%H$G$O>l9g$K$h$C$F$OCY1d;~4V$,(B 50% + $BC;=L$5$l$k7k2L$b$G$F$$$^$9!#(BApache 1.2 $B0J9_$G(B Keep-Alive + $B@\B3$rM-8z$K$9$k$K$O(B <code>KeepAlive On</code> $B$H@_Dj$7$^$9!#(B</p> + + <p>HTTP/1.0 $B$KBP1~$7$?%/%i%$%"%s%H$N:]$K$O!"(B + $B%/%i%$%"%s%H$h$jFC$KMW5a$,$"$C$?>l9g$N$_(B Keep-Alive $B@\B3$H$J$j$^$9!#(B + $B$5$i$K!"(BHTTP/1.0 $B%/%i%$%"%s%H$G$O!"%3%s%F%s%D$NMFNL$,@h$K(B + ($BLuCm(B: $BMW5a$KBP$7$F1~Ez$rJV$9A0$K(B) $B$o$+$k>l9g$N$_(B Keep-Alive + $B@\B3$rMxMQ$G$-$^$9!#$3$l$O!"(BCGI $B$N=PNO$d(B SSI $B$N%Z!<%8!"(B + $B%5!<%P$,@8@.$7$?%G%#%l%/%H%j$N%j%9%H$N$h$&$JF0E*%3%s%F%s%D$r(B + HTTP/1.0 $B%/%i%$%"%s%H$KAw$k>l9g$K$O(B Keep-Alive + $B@\B3$r;H$($J$$$3$H$r0UL#$7$^$9!#(BHTTP/1.1 + $B$KBP1~$7$?%/%i%$%"%s%H$N:]$K$O!"(B + $BFC$K;XDj$5$l$J$$8B$j$O%G%U%)%k%H$H$7$F;}B3E*$J@\B3$,9T$J$o$l$^$9!#(B + $B%/%i%$%"%s%H$,MW5a$9$l$P!"%3%s%F%s%D$NMFNL$rH=JL$G$-$J$$$b$N$r(B + $B;}B3E*$J@\B3$rDL$7$FAw$k$?$a$K!"%A%c%s%/%(%s%3!<%G%#%s%0$,MQ$$$i$l$^$9!#(B</p> + + <p><strong>Apache 1.1 $B$N$_(B</strong>: + Apache $B$,@\B3$4$H$K<uIU$G$-$kMW5a$N:GBg?t$r(B <em>max-requests</em> + $B$K$F;XDj$G$-$^$9!#(B + $B@)8B$O!"%5!<%P$N%j%=!<%9$rB?Bg$KMxMQ$9$k$h$&$J%/%i%$%"%s%H$rKI$0$?$a$K(B + $B9T$J$$$^$9!#(B + <code>0</code> $B$K@_Dj$9$k$H@)8BCM$O$J$/$J$j$^$9!#(B + Apache 1.2 $B5Z$S(B 1.3 $B$N>l9g$K$O!"(BMaxKeepAliveRequests + $B%G%#%l%/%F%#%V$K$h$j@)8f$7$^$9!#(B</p> + + <p>$B;2>H(B <a + href="#maxkeepaliverequests">MaxKeepAliveRequests</a></p> + <hr /> + + <h2><a id="keepalivetimeout" + name="keepalivetimeout">KeepAliveTimeout $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> KeepAliveTimeout + <em>seconds</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>KeepAliveTimeout + 15</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> KeepAliveTimeout + $B$O(B Apache 1.1 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B@\B3$rJD$8$kA0$K!"(BApache $B$,<!$N%j%/%(%9%H$r2?ICBT$D$+$r;XDj$7$^$9!#(B + $B%j%/%(%9%H$r<u$1IU$1$?8e$O!"(B<a + href="#timeout"><code>Timeout</code></a> $B%G%#%l%/%F%#%V$K$h$C$F(B + $B;XDj$5$l$?%?%$%`%"%&%HCM$,;H$o$l$^$9!#(B</p> + + <p><code>KeepAliveTimeout</code> $B$rBg$-$JCM$K@_Dj$9$k$H!"(B + $BIi2Y$N9b$$%5!<%P$K$*$$$F$O%Q%U%)!<%^%s%9$NLdBj$r0z$-5/$3$9>l9g$,$"$j$^$9!#(B + $B%?%$%`%"%&%H$,D9$1$l$PD9$$$[$I!"$h$jB?$/$N%5!<%P%W%m%;%9$,(B + $B3hH/$G$J$$%/%i%$%"%s%H$+$i$N@\B3$N=*N;$rBT$AB3$1$k$3$H$K$J$j$^$9!#(B</p> + <hr /> + + <h2><a id="limit" name="limit"><Limit> $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> <Limit + <em>method</em> [<em>method</em>] ... > ... + </Limit><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> any<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B%"%/%;%9@)8f$O!"DL>o(B<strong>$B$9$Y$F$N(B</strong>$B%"%/%;%9%a%=%C%I$KBP$7$F(B + $B1F6A$7!"IaDL$O$3$l$,K>$^$7$$5sF0$G$9!#(B + <strong>$B$=$&$7$?$3$H$+$i!"BgItJ,$N>l9g$K$O%"%/%;%9@)8f$K4X$o$k%G%#%l%/%F%#%V$r(B + <code><limit></code> $B%;%/%7%g%sFb$K=q$/$Y$-$G$O$"$j$^$;$s!#(B </strong></p> + + <p><Limit> + $B%G%#%l%/%F%#%V$NL\E*$O!"%"%/%;%9@)8f$NHO0O$r;XDj$5$l$?(B HTTP + $B%a%=%C%I$K8BDj$9$k$?$a$G$9!#$=$l0J30$N%a%=%C%I$O!"(B<Limit> + $B$G0O$o$l$?%"%/%;%9@)8f$N(B<strong>$B1F6A$r<u$1$^$;$s(B</strong>$B!#(B + $B0J2<$NNc$O!"(BPOST, PUT, DELETE + $B$N%a%=%C%I$KBP$7$F$N$_%"%/%;%9$N@)8f$r9T$$!"(B + $B$=$l0J30$N%a%=%C%I$K$D$$$F$O@)8B$7$^$;$s(B:</p> + + <blockquote> + <code><Limit POST PUT DELETE><br /> + Require valid-user<br /> + </Limit></code> + </blockquote> + $B%a%=%C%I$NL>A0$K$O!"(BGET, POST, PUT, DELETE, CONNECT, OPTIONS, + PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK + $B$NCf$+$i!"0l$D0J>e$rNs5s$9$k$3$H$,$G$-$^$9!#(B + <strong>$B%a%=%C%I$NL>A0$O!"BgJ8;z>.J8;z$r6hJL$7$^$9!#(B</strong> + $B$^$?!"(BGET $B$r;XDj$9$k$H(B HEAD $B$K4X$7$F$b@)8B$,$+$+$j$^$9!#(B + TRACE $B%a%=%C%I$r@)8B$9$k$3$H$O$G$-$^$;$s!#(B + <hr /> + + <h2><a id="limitexcept" name="limitexcept"><LimitExcept> + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> <LimitExcept + <em>method</em> [<em>method</em>] ... > ... + </LimitExcept><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> any<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.3.5 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p><LimitExcept> $B$H(B </LimitExcept> + $B$O!"0z?t$K(B<strong>$B4^$^$l$F$$$J$$(B</strong> HTTP + $B$N%"%/%;%9%a%=%C%I$KE,MQ$9$k$?$a$N%"%/%;%9@)8f(B + $B%G%#%l%/%F%#%V$r0O$`$?$a$KMxMQ$7$^$9!#(B<em>$B$D$^$j(B</em>$B!"(B<a + href="#limit"><Limit></a> $B%;%/%7%g%s$NH?BP$NF0:n$r$7!"(B + $BI8=`$N%a%=%C%I$HI8=`30$dL$G'<1$N%a%=%C%I$N>l9g$NN>J}$r@_Dj$G$-$^$9!#(B + <a href="#limit"><Limit></a> + $B$N%I%-%e%a%s%H$bJ;$;$F;2>H$7$F$/$@$5$$!#(B</p> + + <p>$BNc(B:</p> + + <pre> + <LimitExcept POST GET> + Require valid-user + </LimitExcept> + </pre> + + <hr /> + + <h2><a id="limitrequestbody" + name="limitrequestbody">LimitRequestBody $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> LimitRequestBody + <em>bytes</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>LimitRequestBody + 0</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> LimitRequestBody + $B$O(B Apache 1.3.2 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B$3$N%G%#%l%/%F%#%V$O!"%j%/%(%9%H%\%G%#$K$*$$$F5v$5$l$k(B 0 + ($BL5@)8B$r0UL#$7$^$9(B) $B$+$i(B 2147483647 (2GB) + $B$^$G$N%P%$%H?t!"(B<em>bytes</em> $B$r;XDj$7$^$9!#%G%U%)%k%HCM$O!"Dj?t(B + <code>DEFAULT_LIMIT_REQUEST_BODY</code> + $B$K$h$j%3%s%Q%$%k;~$KDj5A$5$l$^$9(B ($BG[I[;~$K$O(B 0 $B$H;XDj$5$l$F$$$^$9(B)$B!#(B</p> + + <p>LimitRequestBody $B%G%#%l%/%F%#%V$O!";XDj$5$l$?%3%s%F%-%9%H(B + ($B%5!<%PA4BN!"%G%#%l%/%H%j!"%U%!%$%k!"%m%1!<%7%g%s(B) $BFb$K$*$$$F(B + HTTP $B%j%/%(%9%H%a%C%;!<%8%\%G%#$N5vMF$5$l$k%5%$%:$K@)8B$r$+$1$k$3$H$,$G$-$^$9!#(B + $B%/%i%$%"%s%H$N%j%/%(%9%H$,$=$N@)8BCM$rD6$($F$$$l$P!"(B + $B%5!<%P$O%j%/%(%9%H$r=hM}$;$:$K%(%i!<$rJV$7$^$9!#(B + $BDL>o$N%j%/%(%9%H%a%C%;!<%8%\%G%#$N%5%$%:$O!"%j%=!<%9$N<oN`$d(B + $B5v2D$5$l$F$$$k%a%=%C%I$K$h$C$FBg$-$/JQ$o$j$^$9!#(B + CGI $B%9%/%j%W%H$O!"$h$/%5!<%P$X%U%)!<%`>pJs$rAw?.$9$k$?$a$K(B + $B%a%C%;!<%8%\%G%#$r;H$$$^$9!#(B + PUT $B%a%=%C%I$N<BAu$O!"$3$N%G%#%l%/%F%#%V$NCM$H$7$F(B + $B>/$J$/$H$b$"$k%j%=!<%9$KBP$7$F%5!<%P$,<u$1IU$1$h$&$H$9$k(B + $BI=8=$NBg$-$5$[$I$NCM$rI,MW$H$7$^$9!#(B</p> + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(B + $B4IM}<T$,%/%i%$%"%s%H$+$i$N0[>o$J%j%/%(%9%H$r@)8f$G$-$k$h$&$K$7!"(B + $B2?$i$+$N7A$N%5!<%S%95qH]967b(B ($BLuCm(B:DoS) $B$rHr$1$k$N$KM-8z$G$9!#(B</p> + + <p>$B$"$k>l=j$X$N%U%!%$%k%"%C%W%m!<%I$r5v2D$9$k$H$7$?>l9g$K!"(B + $B%"%C%W%m!<%I$G$-$k%U%!%$%k$N%5%$%:$r(B 100K $B$K@)8B$7$?$1$l$P!"(B + $B0J2<$N$h$&$K;XDj$9$l$P$h$$$G$7$g$&!#(B</p> + + <pre>LimitRequestBody 102400</pre> + + <hr /> + + <h2><a id="limitrequestfields" + name="limitrequestfields">LimitRequestFields $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> LimitRequestFields + <em>number</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> + <code>LimitRequestFields 100</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> + LimitRequestFields $B$O(BApache 1.3.2 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p><em>number</em>$B$K$O!"(B0 ($BL5@)8B$r0UL#$7$^$9(B) $B$+$i(B 32767 + $B$^$G$N?tCM$r;XDj$7$^$9!#(B + $B%G%U%)%k%HCM$O!"Dj?t(B <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> + $B$K$h$j%3%s%Q%$%k;~$KDj5A$5$l$^$9(B ($BG[I[;~$K$O(B 100 $B$H;XDj$5$l$F$$$^$9(B)$B!#(B</p> + + <p>LimitRequestBody $B%G%#%l%/%F%#%V$O!"%5!<%P4IM}<T$,(B HTTP + $B%j%/%(%9%HCf$K$*$$$F5v2D$9$k%j%/%(%9%H%X%C%@%U%#!<%k%I?t$r;XDj$7$^$9!#(B + $B%5!<%P$O$3$NCM$K$ODL>o$N%/%i%$%"%s%H$+$i$N%j%/%(%9%H$K4^$^$l$k$G$"$m$&(B + $B%U%#!<%k%I$N?t$h$jBg$-$JCM$rI,MW$H$7$^$9!#(B + $B%/%i%$%"%s%H$K$h$j;H$o$l$?MW5a%X%C%@!<%U%#!<%k%I$N?t$,(B + 20 $B$rD6$($k$3$H$O$[$H$s$I$"$j$^$;$s$,!"(B + $B$3$l$O<o!9$N%/%i%$%"%s%H$N<BAu$K$h$C$FJQ$o$j!"(B + $B>\:Y$J%3%s%F%s%H%M%4%7%(!<%7%g%s$r$9$k$?$a$N%V%i%&%6$N@_Dj$K$^$G$b(B + $B1F6A$5$l$k$3$H$,$"$j$^$9!#%*%W%7%g%s$N(B HTTP + $B3HD%$O%j%/%(%9%H%X%C%@%U%#!<%k%I$r;H$C$F8=$5$l$k>l9g$,(B + $BB?$/$"$j$^$9!#(B</p> + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(B + $B4IM}<T$,%/%i%$%"%s%H$+$i$N0[>o$J%j%/%(%9%H$r@)8f$G$-$k$h$&$K$7!"(B + $B2?$i$+$N7A$N%5!<%S%95qH]967b(B ($BLuCm(B:DoS) $B$rHr$1$k$N$KM-8z$G$9!#(B</p> + + <p>$BNc(B:</p> + + <pre>LimitRequestFields 50</pre> + + <hr /> + + <h2><a id="limitrequestfieldsize" + name="limitrequestfieldsize">LimitRequestFieldsize + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> LimitRequestFieldsize + <em>bytes</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> + <code>LimitRequestFieldsize 8190</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> + LimitRequestFieldsize $B$O(B Apache 1.3.2 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(BHTTP + $B%j%/%(%9%H%X%C%@Fb$K4^$a$k$3$H$N$G$-$k%P%$%H!"(B<em>bytes</em> $B$r(B + 0 $B$+$i%3%s%Q%$%k;~$KDj5A$5$l$kDj?t(B + <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> ($BG[I[;~$K$O(B 8192 $B$H;XDj(B) + $B$G;XDj$5$l$?CM$^$G$N?t;z$G;XDj$7$^$9!#(B</p> + + <p>LimitRequestFieldsize $B%G%#%l%/%F%#%V$O!"(B + $B%5!<%P$N%3%s%Q%$%k;~$K;XDj$7$?%$%s%W%C%H%P%C%U%!MFNL0J2<$K(B + HTTP $B%j%/%(%9%H%X%C%@$N5vMF$5$l$k%5%$%:$r@)8B$9$k$3$H$,$G$-$^$9!#(B + $B%5!<%P$O!"$3$N%G%#%l%/%F%#%V$NCM$H$7$F!"(B + $BDL>o$N%/%i%$%"%s%H%j%/%(%9%H$+$iAw$i$l$?8D!9$N%X%C%@%U%#!<%k%I$K(B + $B==J,B-$kBg$-$5$rI,MW$H$7$^$9!#(B + $BIaDL$N%j%/%(%9%H%X%C%@$N%5%$%:$O!"8D!9$N%/%i%$%"%s%H$K$h$jBg$-$/JQ$o$j!"(B + $B>\:Y$J%3%s%F%s%H%M%4%7%(!<%7%g%s$r$9$k$?$a$N%V%i%&%6$N@_Dj$K$^$G$b(B + $B1F6A$5$l$k$3$H$,$"$j$^$9!#(B + </p> + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(B + $B4IM}<T$,%/%i%$%"%s%H$+$i$N0[>o$J%j%/%(%9%H$r@)8f$G$-$k$h$&$K$7!"(B + $B2?$i$+$N7A$N%5!<%S%95qH]967b(B ($BLuCm(B:DoS) $B$rHr$1$k$N$KM-8z$G$9!#(B</p> + + <p>$BNc(B:</p> + + <pre>LimitRequestFieldSize 16380</pre> + + <p>$BDL>o$O%G%U%)%k%H$+$iJQ99$9$kI,MW$O$J$$$G$7$g$&!#(B</p> + <hr /> + + <h2><a id="limitrequestline" + name="limitrequestline">LimitRequestLine $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> LimitRequestLine + <em>bytes</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>LimitRequestLine + 8190</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> LimitRequestLine + $B$O(B Apache 1.3.2 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(BHTTP $B%j%/%(%9%H9TFb$G5vMF$5$l$k%P%$%H?t(B + <em>bytes</em> $B$r(B 0 $B$+$i%3%s%Q%$%k;~$NDj?t(B + <code>DEFAULT_LIMIT_REQUEST_LINE</code> ($BG[I[;~$K$O(B 8192 $B$H;XDj(B) + $B$G;XDj$5$l$?CM$^$G$N?t;z$G;XDj$7$^$9!#(B</p> + + <p>LimitRequestLine $B%G%#%l%/%F%#%V$K$h$j!"%5!<%P4IM}<T$O(B + $B%5!<%P$N%3%s%Q%$%k;~$K;XDj$7$?%$%s%W%C%H%P%C%U%!MFNL0J2<$K(B + $B%/%i%$%"%s%H$+$i$N(B HTTP + $B%j%/%(%9%H9T$N%5%$%:$N@)8B$r9T$&$3$H$,$G$-$^$9!#%j%/%(%9%H9T$O!"(B + HTTP $B%a%=%C%I!"(BURI, $B%W%m%H%3%k%P!<%8%g%s$+$i@.$C$F$*$j!"(B + LimitRequestLine $B$O%5!<%P$X$N%j%/%(%9%H$KBP$7$F5vMF$9$k%j%/%(%9%H(B + URI $B$ND9$5$r@)8B$9$k$3$H$K$J$j$^$9!#%5!<%P$O!"(BGET + $B%j%/%(%9%H$N%/%(%jItJ,$b4^$a$F!"%j%=!<%9$NL>A0$,F~$k$KB-$k(B + $BBg$-$5$rI,MW$H$7$^$9!#(B</p> + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(B + $B4IM}<T$,%/%i%$%"%s%H$+$i$N0[>o$J%j%/%(%9%H$r@)8f$G$-$k$h$&$K$7!"(B + $B2?$i$+$N7A$N%5!<%S%95qH]967b(B ($BLuCm(B:DoS) $B$rHr$1$k$N$KM-8z$G$9!#(B</p> + + <p>$BNc(B:</p> + + <pre>LimitRequestLine 16380</pre> + + <p>$BDL>o$N>l9g$K$O!"%G%U%)%k%H$+$iJQ99$9$kI,MW$J$$$G$7$g$&!#(B</p> + <hr /> + + <h2><a id="listen" name="listen">Listen $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> Listen + [<em>IP-address</em>:]<em>port</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Listen $B$O(B Apache 1.1 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>Listen $B%G%#%l%/%F%#%V$O!"(BApache $B$,J#?t$N(B IP $B%"%I%l%9$d%]!<%H$r(B + listen $B$9$k$h$&$K;X<($7$^$9!#%G%U%)%k%H$G$O!"$9$Y$F$N(B + IP $B%$%s%?!<%U%'!<%9$X$N%j%/%(%9%H$K1~Ez$7!"(B<code><a + href="#port">Port</a></code> $B%G%#%l%/%F%#%V$,;XDj$7$?%]!<%H$N$_$r(B + listen $B$9$k$3$H$K$J$j$^$9!#(B</p> + <tt><a + href="#bindaddress">BindAddress</a></tt> $B$d(B <tt>Port</tt> + $B$NBe$o$j$K(B <tt>Listen</tt> $B$r;HMQ$9$k$3$H$,$G$-$^$9!#(B + <tt>Listen</tt> $B$OFCDj$N%]!<%H<c$7$/$O%"%I%l%9$H%]!<%H$NAH9g$o$;$K$h$j(B + $B%j%/%(%9%H$N<u$1IU$1$r;XDj$9$k$3$H$,2DG=$G$9!#(B + $B:G=i$N%]!<%HHV9f$N$_$N;XDjJ}K!$rMxMQ$7$?>l9g$K$O!"(B + $B%5!<%P$O(B <tt>Port</tt> $B%G%#%l%/%F%#%V$GM?$($i$l$?%]!<%H$KBe$o$j!"(B + $B$9$Y$F$N%$%s%?!<%U%'!<%9>e$G;XDj$5$l$?%]!<%H$r(B listen + $B$7$^$9!#$b$7!"%]!<%H$H0l=o$K(B IP $B%"%I%l%9$,;XDj$5$l$F$$$l$P!"(B + $B;XDj$5$l$?%$%s%?!<%U%'!<%9$N%]!<%H$r(B listen $B$7$^$9!#(B + + <p>$B$J$*!"(BApache $B$,<+J,$N%5!<%P$r;X$9(B URL $B$r@5$7$/@8@.$G$-$k$h$&$K(B + <tt>Port</tt> $B%G%#%l%/%F%#%V$b;H$&I,MW$,$"$k$+$b$7$l$J$$$3$H$K(B + $BCm0U$7$F$/$@$5$$!#(B</p> + + <p>Listen $B$9$kJ#?t$N%"%I%l%9$H%]!<%H$r;XDj$9$k$?$a$K!"(B + $BJ#?t$N(B Listen $B%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$,$G$-$^$9!#(B + $B$=$N>l9g!"%5!<%P$O;XDj$5$l$?$9$Y$F$N%"%I%l%9$H%]!<%H$G!"(B + $B%j%/%(%9%H$KBP$9$k1~Ez$r9T$J$$$^$9!#(B</p> + + <p>$B%5!<%P$,(B 80 $BHV%]!<%H$H(B 8000 $BHV%]!<%H$NN>J}$G@\B3$r<u$1IU$1$k@_Dj$NNc(B:</p> +<pre> + Listen 80 + Listen 8000 +</pre> + $BFs$D$N%$%s%?!<%U%'!<%9$H%]!<%HHV9f$K$*$$$F@\B3$r<u$1IU$1$k@_Dj$NNc(B: +<pre> + Listen 192.170.2.1:80 + Listen 192.170.2.5:8000 +</pre> + + <p><strong>$B;2>H(B:</strong> <a href="../dns-caveats.html">DNS $B$K4X$9$kLdBj(B</a><br /> + <strong>$B;2>H(B:</strong> <a href="../bind.html">Apache $B$,MxMQ$9$k%"%I%l%9$H%]!<%H$N@_Dj(B</a><br /> + <strong>$B;2>H(B:</strong> <a + href="http://httpd.apache.org/info/known_bugs.html#listenbug">$B4{CN$N%P%0(B</a></p> + <hr /> + + <h2><a id="listenbacklog" name="listenbacklog">ListenBacklog + $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ListenBacklog + <em>backlog</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ListenBacklog + 511</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> ListenBacklog $B$O(B Apache 1.2.0 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B<u$1IU$1$G$-$F$$$J$$@\B3$rBT5!$5$;$k:]$N:GBg?t$r;XDj$7$^$9!#(B + $BDL>o$OJQ99$NI,MW$O$"$j$^$;$s$7!"JQ99$9$k$3$H$OK>$^$7$/$"$j$^$;$s!#(B + $B$7$+$7!"%7%9%F%`$K$h$C$F$O(B TCP SYN $B%U%i%C%I967b$r<u$1$F$$$k$H$-$K(B + $B$3$N?tCM$rA}$d$7$?J}$,NI$$>l9g$,$"$j$^$9!#(B<code>listen(2)</code> + $B%7%9%F%`%3!<%k$N(B backlog $B%Q%i%a!<%?$r;2>H$7$F$/$@$5$$!#(B</p> + + <p>$B$3$N?tCM$O!"(BOS $B$K$h$C$F>.$5$JCM$K@)8B$5$l$F$$$k$3$H$,$h$/$"$j!"(B + OS $B$K$h$C$F$5$^$6$^$G$9!#$5$i$K!"B?$/$N(B OS $B$O(B backlog + $B$G;XDj$5$l$?CM$=$N$b$N$r;H$&$N$G$O$J$/!"$=$l$K4p$E$/CM(B + ($BDL>o$O$h$jBg$-$JCM(B) $B$r;H$&$H$$$&$3$H$K$bCm0U$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="location" name="location"><Location> + $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> <Location + <em>URL-path</em>|<em>URL</em>> ... </Location><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Location $B$O(B Apache 1.1 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p><Location> $B%G%#%l%/%F%#%V$O!"(BURL + $B$K$h$k%"%/%;%9@)8f$rDs6!$7$^$9!#(B<a + href="#directory"><Directory></a> $B%G%#%l%/%F%#%V$H;w$F$$$F!"(B + </Location> $B%G%#%l%/%F%#%V$G=*N;$9$k%5%V%;%/%7%g%s$r3+;O$7$^$9!#(B + <code><Location></code> $B%;%/%7%g%s$O!"(B<Directory> + $B%;%/%7%g%s$H(B <code>.htaccess</code> $B$NFI$_9~$_$N8e!"(B<Files> + $B%;%/%7%g%s$rE,MQ$7$?8e$K!"@_Dj%U%!%$%k$K8=$l$?=g$K=hM}$5$l$^$9!#(B</p> + + <p>URL $B$O%U%!%$%k%7%9%F%`$KBP1~$9$kI,MW$O$J$/!"(B<Location> + $B$O40A4$K%U%!%$%k%7%9%F%`$K4X78$;$:F0:n$9$k$3$H$r6/D4$7$F$*$-$^$9!#(B</p> + + <p>$B$9$Y$F$N%j%/%(%9%H(B ($B%W%m%-%7$r=|$/(B) $B$KBP$7!"(BURL $B$O(B + <code>/path/</code> $B$H$$$&!"(B<code>http://servername</code> + $B$H$$$&@\F,<-$r4^$^$J$$7A$G%^%C%A$7$^$9!#(B + $B%W%m%-%7%j%/%(%9%H$N>l9g$K$O!"(B<code>scheme://servername/path</code> + $B$H$$$&@\F,<-$r4^$`7A$G%^%C%A$7!"@\F,<-$r4^$a$F;XDj$9$kI,MW$,$"$j$^$9!#(B</p> + + <p>URL $B$K$O%o%$%k%I%+!<%I$rMxMQ$9$k$3$H$,$G$-$^$9!#(B + `?' $B$OG$0U$N0lJ8;z!"(B`*' $B$OG$0U$NJ8;zNs$K%^%C%A$7$^$9!#(B </p> + + <p><strong>Apache 1.2 $B0J9_$N>l9g(B:</strong> + <code>~</code> $B$H$$$&J8;z$rDI2C$9$k$3$H$G!"3HD%@55,I=8=$r(B + $BMxMQ$9$k$3$H$b$G$-$^$9!#(B + $BNc$($P!"(B</p> +<pre> + <Location ~ "/(extra|special)/data"> +</pre> + + <p>$B$O(B URL $B$K(B "/extra/data" $B$+(B "/special/data" + $B$H$$$&J8;zNs$,4^$^$l$F$$$k>l9g$K%^%C%A$7$^$9!#$=$7$F!"(B + Apache 1.3 $B0J9_$N>l9g$K$O!"(B<code><Location></code> + $B$N@55,I=8=HG$HA4$/F1$8F0:n$r$9$k(B <a + href="#locationmatch"><LocationMatch></a> + $B$H$$$&?7$7$$%G%#%l%/%F%#%V$,$"$j$^$9!#(B</p> + + <p><code>Location</code> $B5!G=$O!"(B<code><a + href="mod_mime.html#sethandler">SetHandler</a></code> + $B%G%#%l%/%F%#%V$HAH9g$o$;$FMxMQ$9$k$HFC$KJXMx$G$9!#(B + $BNc$($P!"(Bfoo.com $B$N%V%i%&%6$+$i$N$_%9%F!<%?%9$N;2>H$rM-8z$K$7$?$1$l$P!"(B + $B<!$N$h$&$K$9$l$PNI$$$G$7$g$&!#(B</p> +<pre> + <Location /status> + SetHandler server-status + Order Deny,Allow + Deny from all + Allow from .foo.com + </Location> +</pre> + + <p><strong>Apache 1.3 $B0J9_$K$*$1$k(B / ($B%9%i%C%7%e(B) + $B$N<h$j07$$$K$D$$$F$NCm0U(B:</strong> + $B%9%i%C%7%eJ8;z$O!"(BURL + $BFb$K8=$l$k>l=j$K1~$8$FJQ$o$kFCJL$J0UL#$r;}$C$F$$$^$9!#(B + $B%U%!%$%k%7%9%F%`$K$*$$$FMxMQ$9$k>l9g$K$OJ#?t$N%9%i%C%7%e$G$b0l$D$N(B + $B%9%i%C%7%e$H$7$F07$o$l$^$9$,!"(B($BNc$($P!"(B<code>/home///foo</code> + $B$O(B <code>/home/foo</code> $B$H$$$C$?$h$&$K(B) URL + $B$K$*$$$F$OI,$:$7$b$=$&$J$k$o$1$G$O$"$j$^$;$s!#(B + <code><LocationMatch></code> + $B%G%#%l%/%F%#%V$d@55,I=8=$rMxMQ$7$?(B <code><Location></code> + $B%G%#%l%/%F%#%V$G$=$N$h$&$JF0:n$r$5$;$?$1$l$P!"(B + $BL@<(E*$KJ#?t$N%9%i%C%7%e$r5-=R$9$kI,MW$,$"$j$^$9!#(B + $BNc$($P!"(B<code><LocationMatch ^/abc></code> $B$O!"(B + <code>/abc</code> $B$H$$$&%j%/%(%9%H(B URL $B$K%^%C%A$7$^$9$,!"(B + <code>//abc</code> $B$H$$$&%j%/%(%9%H(B URL $B$K$O%^%C%A$7$^$;$s!#(B + ($B@55,I=8=$G$J$$(B) <code><Location></code> $B%G%#%l%/%F%#%V$O!"(B + Proxy $B%j%/%(%9%H$KBP$7$FMxMQ$9$k:]$K$OF1MM$N$U$k$^$$$r$7$^$9$,!"(B + ($B@55,I=8=$G$J$$(B) <code><Location></code> $B$r(B Proxy + $B$G$J$$%j%/%(%9%H$KBP$7$FMxMQ$9$k:]$K$O!"(B + $B0l$D$N%9%i%C%7%e$GJ#?t$N%9%i%C%7%e$K%^%C%A$7$^$9!#(B + $BNc$($P!"(B<code><Location /abc/def></code> $B$H;XDj$7!"(B + <code>/abc//def</code> + $B$H$$$&%j%/%(%9%H$,$"$l$P!"%^%C%A$9$k$3$H$K$J$j$^$9!#(B</p> + + <p><strong>$B;2>H(B</strong>: $B%j%/%(%9%H$r<u$1$?:]$K!"(B + $B0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$F(B + $BAH$_9g$o$5$l$k$N$+$K$D$$$F$O(B <a href="../sections.html"> + Directory, Location, Files $B%;%/%7%g%s$NF0:nK!(B</a></p> + <hr /> + + <h2><a id="locationmatch" + name="locationmatch"><LocationMatch></a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> <LocationMatch + <em>regex</em>> ... </LocationMatch><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> LocationMatch $B$O(B Apache 1.3 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p> + <LocationMatch> $B%G%#%l%/%F%#%V$O!"(B<a + href="#location"><Location></a> $B$HF1$8MM$K(B + URL $B$K$h$k%"%/%;%9@)8f$rDs6!$7$^$9!#(B + $B$?$@$7!"0z?t$OIaDL$NJ8;zNs$G$O$J$/!"@55,I=8=$H$J$j$^$9!#Nc$($P!"(B</p> +<pre> + <LocationMatch "/(extra|special)/data"> +</pre> + + <p>$B$O(B URL $B$K(B "/extra/data" $B$+(B "/special/data" $B$H$$$&J8;zNs$,(B + $B4^$^$l$F$$$k>l9g$K%^%C%A$7$^$9!#(B</p> + <p><strong>$B;2>H(B</strong>: $B%j%/%(%9%H$r<u$1$?:]$K!"(B + $B0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$F(B + $BAH$_9g$o$5$l$k$N$+$K$D$$$F$O(B <a href="../sections.html"> + Directory, Location, Files $B%;%/%7%g%s$NF0:nK!(B</a></p> + <hr /> + + <h2><a id="lockfile" name="lockfile">LockFile + $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> LockFile + <em>$B%U%!%$%k%Q%9(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>LockFile + logs/accept.lock</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>LockFile $B%G%#%l%/%F%#%V$O(B Apache $B$,(B USE_FCNTL_SERIALIZED_ACCEPT + $B$+(B USE_FLOCK_SERIALIZED_ACCEPT + $B$G%3%s%Q%$%k$5$l$?$H$-$K;H$&%m%C%/%U%!%$%k$X$N%Q%9$r;XDj$7$^$9!#(B + $B$3$N%G%#%l%/%F%#%V$ODL>o$O%G%U%)%k%HCM$N$^$^$K$7$F$*$/$Y$-$G$9!#(B + $B$3$l$rJQ$($k<g$JM}M3$O!"(B<code>logs</code> $B%G%#%l%/%H%j$,(B NFS + $B%^%&%s%H$5$l$F$$$k!"$H$$$&$b$N$G$9!#$3$l$O!"(B<strong>$B%m%C%/%U%!%$%k$O(B + $B%m!<%+%k%G%#%9%/>e$K:n$i$l$J$1$l$P$J$i$J$$(B</strong>$B$+$i$G$9!#(B + $B<g%5!<%P%W%m%;%9$N(B PID $B$,%U%!%$%kL>$N8e$KDI2C$5$l$^$9!#(B</p> + + <p><strong>$B%;%-%e%j%F%#(B</strong> <code>/var/tmp</code> + $B$N$h$&$J3'$,=q$-9~$a$k%G%#%l%/%H%j$OHr$1$k$N$,8-L@$G$9!#(B + $B$3$l$O!"%5!<%P$,:n@.$7$h$&$H$9$k%m%C%/%U%!%$%k$HF1$8L>A0$N%U%!%$%k$r(B + $B:n@.$9$k$3$H$G!"%5!<%P$N5/F0$rAK;_$9$k!"$H$$$&%5!<%S%95qH]967b$r(B + $B9T$&$3$H$,2DG=$K$J$k$+$i$G$9!#(B</p> + <hr /> + + <h2><a id="loglevel" name="loglevel">LogLevel + $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> LogLevel + <em>level</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>LogLevel + warn</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> LogLevel $B$O(B Apache 1.3 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>LogLevel $B$O!"%(%i!<%m%0$X5-O?$9$k%a%C%;!<%8$N>iD9@-$r;XDj$7$^$9(B + (<a href="#errorlog">ErrorLog</a> $B%G%#%l%/%F%#%V$r8+$F$/$@$5$$(B)$B!#(B + $B0J2<$N(B <em>level</em> $B$r;XDj$G$-!"=g$K=EMWEY$,2<$,$C$F$$$-$^$9!#(B</p> + + <table> + <tr> + <th align="left"><strong>$B%l%Y%k(B</strong> </th> + + <th align="left"><strong>$B@bL@(B</strong> </th> + <th align="left"><strong>$BNc(B</strong> </th> + </tr> + + <tr> + <td><code>emerg</code> </td> + + <td>$B6[5^(B - $B%7%9%F%`$,MxMQ$G$-$J$$(B</td> + <td>Child cannot open lock file. Exiting + ($B;R%W%m%;%9$,%m%C%/%U%!%$%k$r3+$1$J$$$?$a=*N;$7$?(B)</td> + </tr> + + <tr> + <td><code>alert</code> </td> + + <td>$BD>$A$KBP=h$,I,MW(B</td> + <td>getpwuid: couldn't determine user name from uid + (getpwuid: UID $B$+$i%f!<%6L>$rFCDj$G$-$J$+$C$?(B)</td> + </tr> + + <tr> + <td><code>crit</code> </td> + + <td>$BCWL?E*$J>uBV(B</td> + <td>socket: Failed to get a socket, exiting child + (socket: $B%=%1%C%H$,F@$i$l$J$$$?$a!";R%W%m%;%9$r=*N;$5$;$?(B)</td> + </tr> + + <tr> + <td><code>error</code> </td> + + <td>$B%(%i!<(B</td> + <td>Premature end of script headers + ($B%9%/%j%W%H$N%X%C%@$,B-$j$J$$$^$^$G=*$o$C$?(B)</td> + </tr> + + <tr> + <td><code>warn</code> </td> + + <td>$B7Y9p(B</td> + <td>child process 1234 did not exit, sending another SIGHUP + ($B;R%W%m%;%9(B 1234 $B$,=*N;$7$J$+$C$?!#$b$&0lEY(B SIGHUP $B$rAw$k(B)</td> + </tr> + + <tr> + <td><code>notice</code> </td> + + <td>$BIaDL$@$,!"=EMW$J>pJs(B</td> + <td>httpd: caught SIGBUS, attempting to dump core in ... + (httpd: SIGBUS $B%7%0%J%k$r<u$1!"(B... $B$X%3%"%@%s%W$r$7$?(B)</td> + </tr> + + <tr> + <td><code>info</code> </td> + + <td>$BDI2C>pJs(B</td> + <td>"Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..." ($B!V%5!<%P$OIi2Y$,9b$$!"(B + (StartServers $B$d(B Min/MaxSpareServers $B$NCM$rA}$d$9I,MW$,$"$k$+$b(B)$B!W(B)</td> + </tr> + + <tr> + <td><code>debug</code> </td> + + <td>$B%G%P%C%0%a%C%;!<%8(B</td> + <td>"Opening config file ..." ($B@_Dj%U%!%$%k$r3+$$$F$$$k(B...)</td> + </tr> + </table> + + <p>$BFCDj$N%l%Y%k$,;XDj$5$l$?>l9g!"$=$l$h$j9b$$%l%Y%k$N$9$Y$F$N(B + $B%a%C%;!<%8$,Js9p$5$l$^$9!#(B + <em>$BNc$($P(B</em>$B!"(B<code>LogLevel info</code> $B$K;XDj$9$k$H!"(B + <code>notice</code> $B$H(B <code>warn</code> $B$bJs9p$5$l$^$9!#(B</p> + + <p>$B$J$*(B <code>crit</code> $B0J>e$r;XDj$9$k$3$H$,?d>)$5$l$^$9!#(B</p> + + <p>$BNc(B:</p> + + <pre>LogLevel notice</pre> + + <hr /> + + <h2><a id="maxclients" name="maxclients">MaxClients + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> MaxClients + <em>$B?tCM(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>MaxClients + 256</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>MaxClients + $B%G%#%l%/%F%#%V$O!"F1;~$K%5%]!<%H$G$-$k:GBg%j%/%(%9%H?t$r@_Dj$7$^$9!#(B + $B;R%5!<%P%W%m%;%9$O!"$3$l$h$jB?$/$O:n@.$5$l$^$;$s!#(B + $B$J$*!"(B256 $B%/%i%$%"%s%H$h$jBg$-$J?tCM$r;XDj$9$k$?$a$K$O!"(Bhttpd.h $B$N(B + HARD_SERVER_LIMIT $B$rJT=8$7$F:F%3%s%Q%$%k$7$J$1$l$P$J$j$^$;$s!#(B</p> + + <p>MaxClients $B$N@)8B$rD6$($?@\B3$O!"DL>o$O(B <a + href="#listenbacklog">ListenBacklog</a> + $B%G%#%l%/%F%#%V$G;XDj$7$??t$^$G%-%e!<$KF~$l$i$l$^$9!#(B + $B$=$7$F!"JL$N%j%/%(%9%H$r=*N;$7;R%W%m%;%9$,2rJ|$5$l$?;~E@$G!"(B + $B@\B3$,<u$1IU$1$i$l$^$9!#(B</p> + <hr /> + + <h2><a id="maxkeepaliverequests" + name="maxkeepaliverequests">MaxKeepAliveRequests + $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> MaxKeepAliveRequests + <em>$B?tCM(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> + <code>MaxKeepAliveRequests 100</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>MaxKeepAliveRequests $B%G%#%l%/%F%#%V$O!"(B<a + href="#keepalive">KeepAlive</a> $B$,M-8z$J>l9g$K!"(B + $B0l2s$N@\B3$G<u$1IU$12DG=$J%j%/%(%9%H$N?t$r@)8B$7$^$9!#(B + "<code>0</code>" $B$K@_Dj$7$F$$$l$P!"<u$1IU$1$k%j%/%(%9%H$OL5@)8B$K$J$j$^$9!#(B + $B$3$N@_Dj$O!"%5!<%P@-G=$r8~>e$5$;$k$?$a$K!"Bg$-$J?tCM$r;XDj$9$k$3$H$r4+$a$^$9!#(B + $B$J$*!"(BApache 1.1 $B$G$O$3$NCM$O!"(BKeepAlive + $B%G%#%l%/%F%#%V$N%*%W%7%g%s$H$7$F;XDj$5$l$F$$$^$7$?!#(B</p> + + <p>$BNc(B</p> + + <pre>MaxKeepAliveRequests 500</pre> + + <hr /> + + <h2><a id="maxrequestsperchild" + name="maxrequestsperchild">MaxRequestsPerChild + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> MaxRequestsPerChild + <em>$B?tCM(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> + <code>MaxRequestsPerChild 0</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>MaxRequestsPerChild $B%G%#%l%/%F%#%V$O!"(B + $B8D!9$N;R%5!<%P!<%W%m%;%9$,=hM}$G$-$k%j%/%(%9%H$N:GBg?t$r@_Dj$7$^$9!#(B + MaxRequestsPerChild + $B$G;XDj$5$l$??t$N%j%/%(%9%H$r=hM}$9$k$H!";R%W%m%;%9$O=*N;$7$^$9!#(B + $B$J$*!"(B0 $B$r;XDj$9$k$H!"%W%m%;%9$O8B$j$J$/F0$-$D$E$1$^$9!#(B</p> + + <p>MaxRequestsPerChild $B$K$h$j!":GBg?t$r(B 0 + $B0J30$NCM$K@_Dj$9$k$3$H$O!"Fs$D$NM-1W$J8z2L$,$"$j$^$9!'(B</p> + + <ul> + <li>($BM=4|$;$L(B) $B%a%b%j%j!<%/$K$h$C$F%W%m%;%9$,>CHq$9$k(B + $B%a%b%j$NAmNL$r@)8B$9$k$3$H$,$G$-$^$9!#(B</li> + + <li>$B%W%m%;%9$N<B9T;~4V@)8B$,@_$1$i$l$k$3$H$K$h$j!"(B + $B%5!<%P$NIi2YDc8:;~$K%W%m%;%9$N?t$r8:>/$5$;$k$3$H$r=u$1$^$9!#(B</li> + </ul> + + <p>$B$?$@$7!"(BWin32 $B$K$*$$$F$O$3$l$r(B 0 $B$K@_Dj$7$?J}$,NI$$$G$7$g$&!#(B + 0 $B0J30$r;XDj$9$k$H!"%j%/%(%9%H$N@)8B$KE~C#$7$?$H$-$K;R%W%m%;%9$,=*N;$7!"(B + $B;R%W%m%;%9$,$b$&0lEY:n$i$l!"$=$N:]$K@_Dj%U%!%$%k$rFI$_D>$7$^$9!#(B + $B$3$l$K$h$j!"@_Dj%U%!%$%k$r=$@58e$K!"(B + $B$^$@=$@5FbMF$,E,MQ$5$l$k$N$r4|BT$7$F$$$J$$$H$-$K(B + $BM=4|$;$L?6$kIq$$$r$9$k$3$H$,$"$j$^$9!#(B + <a href="#threadsperchild">ThreadsPerChild</a> $B$b;2>H$7$F$/$@$5$$!#(B</p> + + <p><strong>$BCm0U(B:</strong> <em>KeepAlive</em> $B%j%/%(%9%H$N>l9g!"(B + $B:G=i$N%j%/%(%9%H$N$_%+%&%s%H$5$l$^$9!#(B + $B<B<AE*$K$O;R%W%m%;%9$"$?$j$N(B<em>$B@\B3?t(B</em>$B$r;XDj$9$k$b$N$H$$$($^$9!#(B</p> + <hr /> + + <h2><a id="maxspareservers" + name="maxspareservers">MaxSpareServers $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> MaxSpareServers + <em>$B?tCM(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>MaxSpareServers + 10</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>MaxSpareServers $B%G%#%l%/%F%#%V$O!"(B<em>$B%"%$%I%k>uBV(B</em>$B$G$"$k(B + $B;R%5!<%P%W%m%;%9$NK>$^$7$$:GBg?t$r;XDj$7$^$9!#(B + $B%"%$%I%k>uBV$N%W%m%;%9$H$O!"%j%/%(%9%H$r=hM}$7$F$$$J$$%W%m%;%9$N$3$H$G$9!#(B + MaxSpareServers $B$G;XDj$7$??t0J>e$,%"%$%I%k>uBV$G$"$l$P!"(B + $B?F%W%m%;%9$OA}$($9$.$?%W%m%;%9$r(B kill $B$7$^$9!#(B</p> + + <p>$B$3$N?tCM$NJQ99$O!"$H$F$b%"%/%;%9$NB?$$%5%$%H$K$*$$$F$N$_I,MW$H$J$k$G$7$g$&!#(B + $BBg$-$J?tCM$r;XDj$9$k$3$H$O!"$[$H$s$I$N>l9g$K$ONI$/$J$$@_Dj$G$9!#(B</p> + + <p>$B$J$*!"$3$l$O(B<em>$BM=Hw(B</em>$B%5!<%P$N:GBg?t$G$"$j!"(B + $B%/%i%$%"%s%H$+$i$N%j%/%(%9%H$r0lEY$K$I$l$@$1=hM}$G$-$k$N$+$N:GBg?t$r(B + $B;XDj$9$k$b$N$G$O$"$j$^$;$s!#(B + $B$b$7!"$=$&$$$C$?:GBg?t$r;XDj$7$?$$$N$G$"$l$P!"(B<a + href="#maxclients">MaxClients</a> $B%G%#%l%/%F%#%V$r;2>H$7$F$/$@$5$$!#(B</p> + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(BMicrosoft Windows $B%W%i%C%H%U%)!<%`$K$*$1$k(B + Apache $B%5!<%P$G$O0UL#$r;}$A$^$;$s!#(B</p> + + <p><a href="#minspareservers">MinSpareServers</a>$B!"(B<a + href="#startservers">StartServers</a>$B!"(B<a + href="#maxclients">MaxClients</a> $B$b;2>H$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="minspareservers" + name="minspareservers">MinSpareServers $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> MinSpareServers + <em>$B?tCM(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>MinSpareServers + 5</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>MinSpareServers $B%G%#%l%/%F%#%V$O!"(B<em>$B%"%$%I%k>uBV(B</em>$B$G$"$k(B + $B;R%5!<%P%W%m%;%9$NK>$^$7$$:G>.?t$r;XDj$7$^$9!#(B + $B%"%$%I%k>uBV$N%W%m%;%9$H$O!"%j%/%(%9%H$r=hM}$7$F$$$J$$%W%m%;%9$N$3$H$G$9!#(B + $B$b$7(B MinSpareServers $B$G;XDj$7$??t$h$j%"%$%I%k>uBV$N%5!<%P$,>/$J$1$l$P!"(B + $B?F%W%m%;%9$O(B 1 $BIC4V$K(B 1 $B8D$r8BEY$H$7$F?7$7$$;R%W%m%;%9$r@8@.$7$^$9!#(B</p> + + <p>$B$3$N?tCM$NJQ99$O!"$H$F$b%"%/%;%9$NB?$$%5%$%H$K$*$$$F$N$_I,MW$H$J$k$G$7$g$&!#(B + $BBg$-$J?tCM$r;XDj$9$k$3$H$O!"$[$H$s$I$N>l9g$K$ONI$/$J$$@_Dj$G$9!#(B</p> + + <p>$B$J$*!"$3$N%G%#%l%/%F%#%V$K$*$$$F$"$k?tCM(B <i>m</i> $B$r;XDj$7$?$H$9$k$H!"(B + <i>n</i> $B$H$$$&?t$N2TF0Cf$N%/%i%$%"%s%H%j%/%(%9%H$,$"$k;~$K!"(B + <i>n + m</i> $B0J>e$N(B <code>httpd</code> + $B%W%m%;%9$,3N<B$KJ];}$5$l$k$h$&$K$7$^$9!#(B</p> + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(BMicrosoft Windows + $B%W%i%C%H%U%)!<%`$G$O0UL#$r;}$A$^$;$s!#(B</p> + + <p><a href="#minspareservers">MinSpareServers</a>$B!"(B<a + href="#startservers">StartServers</a>$B!"(B<a + href="#maxclients">MaxClients</a> $B$b;2>H$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="namevirtualhost" + name="namevirtualhost">NameVirtualHost $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> NameVirtualHost + <em>addr</em>[:<em>port</em>]<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> NameVirtualHost + $B$O(B Apache 1.3 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>NameVirtualHost $B%G%#%l%/%F%#%V$O!"(B + <a href="../vhosts/">$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H(B</a>$B$N@_Dj$r9T$$$?$$>l9g$K(B + $BI,MW$H$J$k$b$N$G$9!#(B</p> + + <p><em>addr</em> $B$K$O%[%9%HL>$r;XDj$G$-$^$9$,!">o$K(B IP + $B%"%I%l%9$+%o%$%k%I%+!<%I$r;XDj$9$k$N$,?d>)$5$l$^$9!#(B + <em>$BNc$($P!"(B</em></p> + + <blockquote> + <code>NameVirtualHost 111.22.33.44</code> + </blockquote> + NameVirtualHost $B%G%#%l%/%F%#%V$O!"L>A0%Y!<%9$N%P!<%A%c%k%[%9%H$r(B + $BMxMQ$7$F%j%/%(%9%H$r<u$1IU$1$k(B IP $B%"%I%l%9$r;XDj$7$^$9!#(B + $B$3$l$O!"IaDL$OL>A0%Y!<%9$N%P!<%A%c%k%[%9%H%"%I%l%9$G$9!#(B + $B$?$@$7!"%U%!%$%"!<%&%)!<%k$dB>$N%W%m%-%7$,%j%/%(%9%H$r<u$1IU$1!"(B + $B0c$&(B IP $B%"%I%l%9$N%5!<%P$K%U%)%o!<%I$9$k$H$$$&>l9g$O!"(B + $B%j%/%(%9%H$rDs6!$7$?$$%^%7%s>e$NJ*M}%$%s%?!<%U%'!<%9$N(B + IP $B%"%I%l%9$r;XDj$9$kI,MW$,$"$j$^$9!#(B + $BJ#?t$N%"%I%l%9$GJ#?t$NL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$r;XDj$9$k>l9g$O(B + $B3F%"%I%l%9$KBP$7$F%G%#%l%/%F%#%V$r=q$$$F$/$@$5$$!#(B + + <p>$B!V<g%5!<%P!W$d!"$I$N(B _default_ $B%5!<%P$b!"(B + NameVirtualHost $B$G;XDj$7$?(B IP $B%"%I%l%9$X$N%j%/%(%9%H(B + $B$r=hM}$9$k$3$H$O(B<strong>$B$"$j$^$;$s(B</strong> ($B$J$<$+(B NameVirtualHost + $B$r;XDj$7$?$1$I$=$N%"%I%l%9$K(B VirtualHost $B$rDj5A$7$J$+$C$?>l9g$r=|$/(B)$B!#(B</p> + + <p>$B$J$*!"L>A0%Y!<%9$N%P!<%A%c%k%[%9%H$K%]!<%HHV9f$r;XDj$9$k$3$H$b2DG=$G$9!#(B<br /> + $BNc$($P!"(B</p> + + <blockquote> + <code>NameVirtualHost 111.22.33.44:8080</code> + </blockquote> + Apache 1.3.13 $B0J>e$N>l9g$K$O!"(B<em>addr</em> $B$K(B <code>*</code> + $B$r;XDj$9$k$3$H$,$G$-$^$9!#(B + $B$3$l$K$h$j!"(BNameVirtualHost$B%G%#%l%/%F%#%V$d(B <a + href="#virtualhost"><VirtualHost></a> $B%;%/%7%g%s$G;XDj$5$l$J$+$C$?!"(B + $B$h$j:Y$+$/@_Dj$5$l$F$$$k%"%I%l%90J30$N$9$Y$F$N%"%I%l%9$X$N@\B3$K%^%C%A$7$^$9!#(B + $BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H$@$1$rMxMQ$7$?$$>l9g$d!"(B + $B@_Dj%U%!%$%kCf$K%5!<%P$N(B IP + $B%"%I%l%9$r5-=R$9$k$3$H$rK>$^$J$$>l9g$KM-MQ$G$7$g$&!#(B + + <p><strong>$B;2>H(B:</strong> <a href="../vhosts/">Apache $B%P!<%A%c%k%[%9%H2r@b=q(B</a></p> + <hr /> + + <h2><a id="options" name="options">Options $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> Options + [+|-]<em>option</em> [[+|-]<em>option</em>] ...<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> Options<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>Options $B%G%#%l%/%F%#%V$O!"FCDj$N%G%#%l%/%H%j$KBP$7$F(B + $B$I$N5!G=$rM-8z$K$9$k$N$+$r@)8f$7$^$9!#(B</p> + + <p><em>option</em> $B$r(B <code>None</code> + $B$K;XDj$9$k$H!"FCJL$J5!G=$O$9$Y$FL58z$K$J$j$^$9!#$^$?!"0J2<$N<($9(B + 1 $B8D0J>e$N$b$N$r;XDj$G$-$^$9!#(B</p> + + <dl> + <dt>All</dt> + + <dd>MultiViews $B$r=|$$$?$9$Y$F$N5!G=$,M-8z$H$J$j$^$9!#(B + $B$3$l$,%G%U%)%k%H$G$9!#(B</dd> + + <dt>ExecCGI</dt> + + <dd> + CGI $B%9%/%j%W%H$N<B9T$r5v2D$7$^$9!#(B</dd> + + <dt>FollowSymLinks</dt> + + <dd> + $B%5!<%P$,!"$3$N%G%#%l%/%H%jFb$G%7%s%\%j%C%/%j%s%/$r$?$I$l$k$h$&$K$7$^$9!#(B<br /> + <strong>$BCm0UE@(B</strong>: + $B%5!<%P$,%7%s%\%j%C%/%j%s%/$r$?$I$k>l9g$G$b!"(B + <code><Directory></code> + $B%;%/%7%g%s$K%^%C%A$5$;$k$?$a$N%Q%9L>$O(B<em>$BJQ99$5$l$^$;$s(B</em>$B!#(B<br /> + <strong>$BCm0UE@(B</strong>: <Location> + $BFb$K$3$N%*%W%7%g%s$r;XDj$7$F$bL5;k$5$l$^$9!#(B</dd> + + <dt>Includes</dt> + + <dd> + SSI $B$rM-8z$K$7$^$9!#(B</dd> + + <dt>IncludesNOEXEC</dt> + + <dd> + SSI $B$OM-8z$K$J$j$^$9$,!"(B#exec $B%3%^%s%I(B $B$H(B #exec CGI + $B$OL58z$K$J$j$^$9!#$?$@$7!"(B#include virtual $B$K$h$j!"(BScriptAlias + $B$5$l$?%G%#%l%/%H%j$G(B CGI $B$r<B9T$9$k$3$H$O2DG=$G$9!#(B</dd> + + <dt>Indexes</dt> + + <dd> + $B$b$7!"(BURL $B$,%G%#%l%/%H%j$K%^%C%W$9$k%j%/%(%9%H$G$"$C$F!"$+$D(B + DirectoryIndex $B$G;XDj$7$?%U%!%$%k(B ($BNc$($P!"(Bindex.html) $B$,(B + $B%G%#%l%/%H%jFb$KL5$1$l$P!"(B + $B%G%#%l%/%H%jFb$N0lMw$r@07A$7$FJV$;$k$h$&$K$7$^$9!#(B</dd> + + <dt>MultiViews</dt> + + <dd> + <a href="../content-negotiation.html">$B%3%s%F%s%H%M%4%7%(!<%7%g%s(B</a> + $B$5$l$?(B MultiViews $B$r5v2D$7$^$9!#(B</dd> + + <dt>SymLinksIfOwnerMatch</dt> + + <dd> + $B%7%s%\%j%C%/@h$N%U%!%$%k$^$?$O%G%#%l%/%H%j$,!"(B + $B%7%s%\%j%C%/%j%s%/$N=jM-%f!<%6(B ID + $B$HF1$8>l9g$K$N$_%7%s%\%j%C%/%j%s%/$r$?$I$l$k$h$&$K$7$^$9!#(B<br /> + <strong>$BCm0UE@(B</strong>: <Location> + $BFb$K$3$N%*%W%7%g%s$r;XDj$7$F$bL5;k$5$l$^$9!#(B</dd> + </dl> + $BDL>o!"%G%#%l%/%H%j$KBP$7$FJ#?t$N(B <code>Options</code> + $B$,E,MQ2DG=$J>l9g!":G$b6a$$$b$N0l$D$N$_$,E,MQ$5$l$^$9!#(B + $BJ#?t$N;XDj$,%^!<%8$5$l$k$o$1$G$O$"$j$^$;$s!#$7$+$7!"$9$Y$F$N(B + <code>Options</code> $B%G%#%l%/%F%#%V$,(B + $B$d(B - + $BIU$-$G;XDj$5$l$?>l9g$O%*%W%7%g%s$NCM$O%^!<%8$5$l$^$9!#(B + + $B$rF,$K$D$1$l$P8=:_$N@_Dj$K2C$($i$l!"(B- + $B$rIU$1$l$P8=:_$N@_Dj$+$i:o=|$5$l$^$9!#(B + + <p>$BNc$($P!"(B+ $B$d(B - $B$rMxMQ$7$J$$>l9g$O(B:</p> + + <blockquote> + <code><Directory /web/docs><br /> + Options Indexes FollowSymLinks<br /> + </Directory><br /> + <Directory /web/docs/spec><br /> + Options Includes<br /> + </Directory></code> + </blockquote> + + /web/docs/spec $B$H$$$&%G%#%l%/%H%j$K$O!"(B<code>Includes</code> + $B$@$1$,E,MQ$5$l$^$9!#$7$+$7!"(B2 $BHVL\$N(B <code>Options</code> $B$G(B + + $B$d(B - $B$rMxMQ$7$F$_$k$H(B: + + <blockquote> + <code><Directory /web/docs><br /> + Options Indexes FollowSymLinks<br /> + </Directory><br /> + <Directory /web/docs/spec><br /> + Options +Includes -Indexes<br /> + </Directory></code> + </blockquote> + + /web/docs/spec $B$H$$$&%G%#%l%/%H%j$K$O!"(B <code>FollowSymLinks</code> + $B$H(B <code>Includes</code> $B$,E,MQ$5$l$^$9!#(B + + + <p><strong>$BCm0U(B:</strong> <code>-IncludesNOEXEC</code> $B<c$7$/$O(B + <code>-Includes</code> + $B$r;XDj$9$k$H!"A0$N@_Dj$,$I$N$h$&$K$J$C$F$$$h$&$H$b(B SSI + $B$OL58z$H$J$j$^$9!#(B</p> + + <p>$B$I$N$h$&$J@_Dj$b$5$l$F$$$J$1$l$P!"%G%U%)%k%H$G$O(B + <code>All</code> $B$K$J$j$^$9!#(B</p> + <hr /> + + <h2><a id="pidfile" name="pidfile">PidFile $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> PidFile + <em>$B%U%!%$%k%Q%9(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>PidFile + logs/httpd.pid</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>PidFile $B%G%#%l%/%F%#%V$O%5!<%P$,%G!<%b%s$N%W%m%;%9(B ID + $B$r5-O?$9$k%U%!%$%k$r@_Dj$7$^$9!#%U%!%$%kL>$,%9%i%C%7%e(B + (/) $B$+$i;O$a$i$l$F$$$J$1$l$P!"(BServerRoot $B$+$i$NAjBP%Q%9$H$J$j$^$9!#(B + PidFile $B$O(B <a href="#servertype">standalone</a> + $B%b!<%I$G$N$_;HMQ$G$-$^$9!#(B</p> + + <p><a + href="#errorlog">ErrorLog</a> $B$H(B TransferLog $B$rJD$8$F3+$-D>$7$F!"(B + $B@_Dj%U%!%$%k$r:FFI$_9~$_$5$;$k$3$H$,$G$-$k$h$&$K%5!<%P$K(B + $B%7%0%J%k$rAw$k$3$H$,$G$-$l$PJXMx$J$3$H$,$"$j$^$9!#(B + $B$3$l$O!"(BSIGHUP (kill -1) $B%7%0%J%k$r(B PidFile + $B$K5-:\$5$l$F$$$k%W%m%;%9(B ID $B$KAw$k$3$H$K$h$C$F2DG=$G$9!#(B</p> + + <p>PidFile $B$O%m%0%U%!%$%k$N>l=j$H(B <a + href="../misc/security_tips.html#serverroot">$B0BA4@-(B</a>$B$HF1$8$h$&$J(B + $BCm0U$,I,MW$G$9!#(B</p> + <hr /> + + <h2><a id="port" name="port">Port $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> Port + <em>number</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>Port + 80</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p><em>number</em>$B$K$O!"(B0 $B$+$i(B 65535 + $B$^$G$NHV9f$r;XDj$7$^$9!#$$$/$D$+$N%]!<%HHV9f(B ($BFC$K(B1024$BHV0JA0(B) + $B$O!"FCDj$N%W%m%H%3%k$N$?$a$KM=Ls$5$l$F$$$^$9!#(B + <code>/etc/services</code> + $B$r8+$k$H!"Dj5A$5$l$F$$$k%]!<%H$N0lMw$,$"$j$^$9!#DL>o!"(BHTTP + $B%W%m%H%3%k$NI8=`$N%]!<%H$O(B 80 $B$G$9!#(B</p> + + <p>Port $B%G%#%l%/%F%#%V$O!"Fs$D$N0UL#$r;}$C$F$*$j!"0l$D$O(B + NCSA $B$N>e0L8_49$H$7$F$NI,MW@-$G$9(B (Apache + $B$N@_Dj$G$O:.F1$7$d$9$$E@$G$9(B)</p> + <ul> + <li>$B%]!<%HHV9f$r;XDj$7$F$$$k(B <a href="#listen">Listen</a> $B$d(B <a + href="#bindaddress">BindAddress</a> $B$,$J$1$l$P!"<g%5!<%PFb(B + (<a href="#virtualhost"><VirtualHost></a> $B%;%/%7%g%s30(B) + $B$K5-=R$9$k$3$H$K$h$C$F!"%5!<%P$,(B listen + $B$9$k%]!<%H$NHV9f$r;XDj$G$-$^$9!#(BListen $B<c$7$/$O(B BindAddress + $B$K$*$$$F(B <code>:number</code> $B$H$$$C$?;XDj$,$5$l$F$$$l$P!"(BPort + $B$O%5!<%P$,(B listen $B$9$k%]!<%H$K$O1F6A$7$^$;$s!#(B</li> + + <li>Port $B%G%#%l%/%F%#%V$NCM$O!"(B<code>SERVER_PORT</code> $B4D6-JQ?t(B + (<a href="mod_cgi.html">CGI</a> $B$d(B + <a href="mod_include.html">SSI</a> $B$K$*$$$F@_Dj$5$l$k(B) + $B$r@_Dj$7!"%5!<%P$,<+J,<+?H$r;2>H$9$k(B URL $B$r@8@.$9$k(B + ($BNc$($P!"<+J,<+?H$X30It%j%@%$%l%/%H$r:n@.$9$k>l9g$J$I(B) + $B>l9g$KMxMQ$5$l$^$9!#$3$NF0:n$O(B <a + href="#usecanonicalname">UseCanonicalName</a> + $B$K$h$jJQ99$G$-$^$9!#(B</li> + </ul> + + Port $B%G%#%l%/%F%#%V$N<g$JF0:n$O!"(B<a href="#servername">ServerName</a> + $B%G%#%l%/%F%#%V$HF1MM$N$b$N$H$_$J$9$3$H$,$G$-$^$9!#(B + ServerName $B$H(B Port + $B$O!"%5!<%P$N(B<em>$B@5<0$J(B</em>$B%"%I%l%9$,!"2?$G$"$k$+$r;XDj$7$^$9!#(B + + <p>80 $BHV%]!<%H$O!"(BUNIX $B$NFCJL$J%]!<%H$N0l$D$G$9!#(B1024 + $BHVL$K~$N$9$Y$F$N%]!<%H$O%7%9%F%`$,;HMQ$9$k$?$a$KM=Ls$5$l$F$$$^$9!#(B + <em>$B$9$J$o$A(B</em>$B!"0lHL%f!<%6(B (root $B0J30(B) $B$O;HMQ$9$k$3$H$,$G$-$^$;$s!#(B + $B0lHL%f!<%6$O$=$l0J>e$N%]!<%H$7$+;HMQ$G$-$^$;$s!#$=$N$?$a!"(B + 80 $BHV%]!<%H$r;HMQ$9$k$K$O!"(Broot + $B%"%+%&%s%H$G%5!<%P$r5/F0$7$J$1$l$P$J$j$^$;$s!#(B + $B5/F08e$K!"%]!<%H$r%P%$%s%I$7$?8e!"%j%/%(%9%H$r<u$1IU$1$kA0$K(B + Apache $B$O(B <a href="#user">User + $B%G%#%l%/%F%#%V(B</a>$B$G;XDj$5$l$?!"$h$jFC8"$NDc$$%f!<%6$K0\9T$7$^$9!#(B</p> + + <p>$B$b$7!"(B80 $BHV%]!<%H$r;HMQ$G$-$J$$>l9g$K$O!"(B + $B;HMQ$7$F$$$J$$B>$NG$0U$N%]!<%H$rA*$s$G$/$@$5$$!#(Broot $B0J30$N%f!<%6$J$i!"(B + 8000 $B$J$I$N$h$&$K(B 1023 $B$h$j>e$N%]!<%H$rA*$s$G2<$5$$!#(B</p> + + <p>$B%;%-%e%j%F%#(B: $B$b$7!"(Broot $B$K$h$C$F%5!<%P$r5/F0$7$?$J$i!"(B + <a href="#user">User</a> $B$r(B root $B0J30$K@_Dj$7$F$/$@$5$$!#@\B3$r(B + root $B$G07$&$H!"%5%$%H$O=EBg$J%;%-%e%j%F%#967b$K$5$i$5$l$k(B + $B2DG=@-$,$"$j$^$9!#(B </p> + <hr /> + + <h2><a id="protocolreqcheck" name="protocolreqcheck">ProtocolReqCheck + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ProtocolReqCheck + on|off<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ProtocolReqCheck + on</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B + <br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> + ProtocolReqCheck $B$O(B Apache 1.3.27 $B0J9_$G$N$_;HMQ2DG=$G$9!#(B + + <p>$B$3$N%G%#%l%/%F%#%V$O(B Request $B9T$N(B Protocol + $B%U%#!<%k%I$N87L)$J%A%'%C%/$r9T$&$h$&$K$7$^$9!#(BApache $B$N(B 1.3.26 + $B0JA0$N%P!<%8%g%s$O(B (<code>HTTP-1.1</code> $B$N$h$&$J(B) $B4V0c$C$?(B + Protocol $B$rL[$C$F<u$1IU$1$F!"(B<code>HTTP/1.0</code> + $B$H$_$J$7$F$$$^$7$?!#$3$N%P!<%8%g%s$G$O$=$&$G$O$J$/!"(BProtocol + $B%U%#!<%k%I$O@5$7$$$b$N$G$J$1$l$P$J$i$J$/$J$j$^$7$?!#(B + 1.3.26 $B0JA0$NF0:n$,K>$^$7$+$C$?$j!"I,MW$@$C$?$j$9$k>l9g$O(B + <code>ProtocolReqCheck off</code> + $B$H@_Dj$9$k$3$H$K$h$j87L)$J%A%'%C%/$r$7$J$$$h$&$K$G$-$^$9!#(B</p> + + <hr /> + + <h2><a id="require" name="require">Require $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> Require + <em>entity-name</em> [<em>entity-name</em>] ...<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> AuthConfig<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B$3$N%G%#%l%/%F%#%V$O!"$I$NG'>Z:Q$_$N%f!<%6$,%j%=!<%9$K(B + $B%"%/%;%9$9$k$3$H$,$G$-$k$+$r;XDj$7$^$9!#(B + $B0J2<$N$h$&$J9=J8$K$J$j$^$9!#(B</p> + + <ul> + <li> + Require user <em>userid</em> [<em>userid</em>] ... + + <p>$B;XDj$5$l$?%f!<%6$N$_!"%j%=!<%9$X$N%"%/%;%9$r5v2D$7$^$9!#(B</p> + </li> + + <li> + Require group <em>group-name</em> [<em>group-name</em>] ... + + + <p>$B;XDj$5$l$?%0%k!<%W$KB0$9$k%f!<%6$N$_!"%j%=!<%9$X$N%"%/%;%9$r5v2D$7$^$9!#(B</p> + </li> + + <li> + Require valid-user + + <p>$B$9$Y$F$NG'>Z$5$l$?%f!<%6$K!"%j%=!<%9$X$N%"%/%;%9$r5v2D$7$^$9!#(B</p> + </li> + <li>file-owner + <p>$BL>A0$,%U%!%$%k$N=jM-<T$N%7%9%F%`$G$NL>A0$K9g$&%f!<%6$@$1$,(B + $B%j%=!<%9$r%"%/%;%9$G$-$^$9!#(B<br> + [Apache 1.3.20 $B0J9_$G;HMQ2DG=(B]</br> + </li> + <li>file-group + <p>$B%U%!%$%k$N=jM-<T$N%0%k!<%W$N%7%9%F%`$G$NL>A0$K9g$&%0%k!<%W$N%a%s%P$@$1$,(B + $B%j%=!<%9$K%"%/%;%9$G$-$^$9!#(B<br>[Apache 1.3.20 $B0J9_$G;HMQ2DG=(B]</p> + </ul> + + <p>Require $B$O!"@5$7$/F0:n$9$k$?$a$K$O(B <a + href="#authname">AuthName</a> $B5Z$S(B <a + href="#authtype">AuthType</a> $B%G%#%l%/%F%#%V$d!"(B + <a + href="mod_auth.html#authuserfile">AuthUserFile</a> $B5Z$S(B <a + href="mod_auth.html#authgroupfile">AuthGroupFile</a> + ($B%f!<%6$H%0%k!<%W$r;XDj$9$k$?$a$K(B) $B$H$$$C$?%G%#%l%/%F%#%V$H6&$K(B + $B;XDj$9$kI,MW$,$"$j$^$9!#(B + $BNc$($P(B:</p> + + <blockquote> + <code>AuthType Basic<br /> + AuthName "Restricted Directory"<br /> + AuthUserFile /web/users<br /> + AuthGroupFile /web/groups<br /> + Require group admin<br /> + </code> + </blockquote> + $B%"%/%;%9@)8f$O!"(B<strong>$B$9$Y$F$N(B</strong>$B%a%=%C%I$KBP$7$F9T$o$l$^$9!#(B + <strong>$BDL>o$O!"$3$l$,K>$^$7$$F0:n$G$9!#(B</strong> + $B$b$7!"FCDj$N%a%=%C%I$KBP$7$F$N$_%"%/%;%9$N@)8f$rE,MQ$7!"(B + $BB>$N%a%=%C%I$O@)8B$7$J$$>l9g$K$O!"(B<a + href="#limit"><Limit></a> $B%;%/%7%g%sFb$K(B <code>Require</code> + $B$r;XDj$7$F$/$@$5$$!#(B + + <p><a href="#satisfy">Satisfy</a> $B5Z$S(B <a + href="mod_access.html">mod_access</a> $B$b;2>H$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="resourceconfig" name="resourceconfig">ResourceConfig + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ResourceConfig + <em>file-path</em>|<em>directory-path</em>|<em>wildcard-path</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ResourceConfig + conf/srm.conf</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core <br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> $B%U%!%$%kL>$G$O$J$/!"(B + $B%G%#%l%/%H%j$r;XDj$9$k5!G=$O(B Apache 1.3.13 $B0J9_$G$N$_;HMQ2DG=$G$9!#(B + + <p>$B%5!<%P$O(B httpd.conf $B%U%!%$%k$rFI$_9~$s$@8e!"(B + $BDI2C$N%G%#%l%/%F%#%V$r$3$3$G5-$7$?%U%!%$%k$+$iFI$_9~$_$^$9!#(B + <em>File-path</em>$B$O!"(B<a href="#serverroot">ServerRoot</a> + $B$+$i$NAjBP%Q%9$G$9!#(B<br /> + $B$3$N5!G=$rL58z$K$9$k$K$O<!$N$h$&$K;XDj$7$^$9!#(B</p> + + <blockquote> + <code>ResourceConfig /dev/null</code> + </blockquote> + Win32 $B$N>l9g(B + + <blockquote> + <code>ResourceConfig nul</code> + </blockquote> + + $B0JA0$O!"%5!<%P@_Dj$K4X$9$k%G%#%l%/%F%#%V$H(B <a + href="#directory"><$B%G%#%l%/%H%j(B></a> + $B%;%/%7%g%s0J30$N$[$H$s$I$N%G%#%l%/%F%#%V$,=q$+$l$F$$$^$7$?!#(B + $B<B:]!"8=:_$G$O!V%5!<%P@_Dj%U%!%$%k!W%3%s%F%-%9%H$K5-=R$G$-$k$3$H$9$Y$F$,(B + $B5-=R2DG=$K$J$C$F$$$^$9!#(B + $B$?$@!"(BApache $B$N%P!<%8%g%s(B 1.3.4 $B0J9_$GG[I[$5$l$F$$$k%G%U%)%k%H$N(B + <code>srm.conf</code> $B$G$O$3$N%U%!%$%kFb$K$O%3%a%s%H$7$+=q$+$l$F$*$i$:!"(B + $B$9$Y$F$N%G%#%l%/%F%#%V$,%5!<%P@_Dj%U%!%$%k$N(B <code>httpd.conf</code> + $B$K5-=R$5$l$F$$$^$9!#(B + + <p> + <code>ResourceConfig</code> + $B$,%U%!%$%k$G$O$J$/%G%#%l%/%H%j$r;XDj$7$F$$$l$P!"(BApache + $B$O$=$N%G%#%l%/%H%jFb$H$9$Y$F$N%5%V%G%#%l%/%H%jFb$N$9$Y$F$N%U%!%$%k$r(B + $BFI$_9~$_!"$=$l$i$r@_Dj%U%!%$%k$H$7$F=hM}$7$^$9!#(B</p> + <p>$BBe$o$j$K!"%o%$%k%I%+!<%I$r;H$C$FHO0O$r9J$k$3$H$b$G$-$^$9!#(B + $B$9$J$o$A!"(B*.conf $B%U%!%$%k$N$_!"$H$$$C$?$h$&$K!#(B</p> + <p>$B%G%U%)%k%H$G$O;XDj$5$l$?%G%#%l%/%H%j$N!V(B<em>$B$I$N$h$&$J(B</em>$B!W(B + $B%U%!%$%k$G$b@_Dj%U%!%$%k$H$7$FFI$_9~$^$l$^$9!#(B</p> + <p>$B$G$9$+$i8m$C$F(B ($BNc$($P%(%G%#%?$G%F%s%]%i%j%U%!%$%k$r:n@.$9$kEy(B) + $B%U%!%$%k$rCV$+$J$$$h$&$KCm0U$7$F$/$@$5$$!#(B</p> + + <p><strong>$B;2>H(B:</strong> <a href="#accessconfig">AccessConfig</a></p> + <hr /> + + <h2><a id="rlimit" name="rlimit">RLimitCPU</a> <a + id="rlimitcpu" name="rlimitcpu">$B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> RLimitCPU + <em>number</em>|max [<em>number</em>|max] <br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <em>Unset; uses + operating system defaults</em> <br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> RLimitCPU $B$O(B Apache 1.2 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B0l$D$+Fs$D$N%Q%i%a!<%?$r;XDj$G$-$^$9!#(B + $B:G=i$N%Q%i%a!<%?$OA4%W%m%;%9$KBP$9$k%j%=!<%9$N%=%U%H%j%_%C%H$r@_Dj$7!"(B + 2 $BHVL\$N%Q%i%a!<%?$O:GBg$N%j%=!<%9%j%_%C%H$r@_Dj$7$^$9!#(B + $B%Q%i%a!<%?$K$O?t;z$+!"%*%Z%l!<%F%#%s%0%7%9%F%`$N:GBg$H$J$k(B + <code>max</code> $B$N$I$A$i$+$r;XDj$9$k$3$H$,$G$-$^$9!#(B + $B:GBg$N%j%=!<%9%j%_%C%H$r>e$2$k$?$a$K$O!"%5!<%P$r(B root + $B$G<B9T$9$k$+!"(Broot $B$K$h$C$F5/F0$5$l$J$1$l$P$$$1$^$;$s!#(B </p> + + <p>$B$A$J$_$K!"$3$N@_Dj$O(B Apache + $B$N;R%W%m%;%9<+BN$G$O$J$/!"%j%/%(%9%H$r<u$1IU$1$?(B Apache + $B$N;R%W%m%;%9$+$i(B fork $B$5$l$?%W%m%;%9$KE,MQ$5$l$^$9!#$3$l$K$O(B + CGI $B$d(B SSI $B$+$i<B9T$5$l$?%3%^%s%I$,4^$^$l$^$9$,!"(BApache + $B$N?F%W%m%;%9$+$i(B fork $B$5$l$?%m%0$N%Q%$%W%W%m%;%9$J$I$K$OE,MQ$5$l$^$;$s!#(B</p> + + <p>CPU $B%j%=!<%9$N%j%_%C%H$O%W%m%;%9$"$?$j$NIC?t$GI=$o$5$l$^$9!#(B</p> + + <p><a href="#rlimitmem">RLimitMEM</a> $B$d(B <a + href="#rlimitnproc">RLimitNPROC</a> $B$b;2>H$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="rlimitmem" name="rlimitmem">RLimitMEM + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> RLimitMEM + <em>number</em>|max [<em>number</em>|max]<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <em>Unset; uses + operating system defaults</em> <br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> RLimitMEM $B$O(B Apache 1.2 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B0l$D$+Fs$D$N%Q%i%a!<%?$r;XDj$G$-$^$9!#(B + $B:G=i$N%Q%i%a!<%?$OA4%W%m%;%9$KBP$9$k%j%=!<%9$N%=%U%H%j%_%C%H$r@_Dj$7!"(B + 2 $BHVL\$N%Q%i%a!<%?$O:GBg$N%j%=!<%9%j%_%C%H$r@_Dj$7$^$9!#(B + $B%Q%i%a!<%?$K$O?t;z$+!"%*%Z%l!<%F%#%s%0%7%9%F%`$N:GBg$H$J$k(B + <code>max</code> $B$N$I$A$i$+$r;XDj$9$k$3$H$,$G$-$^$9!#(B + $B:GBg$N%j%=!<%9%j%_%C%H$r>e$2$k$?$a$K$O!"%5!<%P$r(B root + $B$G<B9T$9$k$+!"(Broot $B$K$h$C$F5/F0$5$l$J$1$l$P$$$1$^$;$s!#(B </p> + + <p>$B$A$J$_$K!"$3$N@_Dj$O(B Apache + $B$N;R%W%m%;%9<+BN$G$O$J$/!"%j%/%(%9%H$r<u$1IU$1$?(B Apache + $B$N;R%W%m%;%9$+$i(B fork $B$5$l$?%W%m%;%9$KE,MQ$5$l$^$9!#$3$l$K$O(B + CGI $B$d(B SSI $B$+$i<B9T$5$l$?%3%^%s%I$,4^$^$l$^$9$,!"(BApache + $B$N?F%W%m%;%9$+$i(B fork $B$5$l$?%m%0$N%Q%$%W%W%m%;%9$J$I$K$OE,MQ$5$l$^$;$s!#(B</p> + + <p>$B%a%b%j%j%=!<%9$N%j%_%C%H$O%W%m%;%9$"$?$j$N%P%$%H?t$GI=$5$l$^$9!#(B</p> + + <p><a href="#rlimitcpu">RLimitCPU</a> $B$d(B <a + href="#rlimitnproc">RLimitNPROC</a> $B$b;2>H$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="rlimitnproc" name="rlimitnproc">RLimitNPROC + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> RLimitNPROC + <em>number</em>|max [<em>number</em>|max]<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <em>Unset; uses + operating system defaults</em> <br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> RLimitNPROC $B$O(B Apache 1.2 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B0l$D$+Fs$D$N%Q%i%a!<%?$r;XDj$G$-$^$9!#(B + $B:G=i$N%Q%i%a!<%?$OA4%W%m%;%9$KBP$9$k%j%=!<%9$N%=%U%H%j%_%C%H$r@_Dj$7!"(B + 2 $BHVL\$N%Q%i%a!<%?$O:GBg$N%j%=!<%9%j%_%C%H$r@_Dj$7$^$9!#(B + $B%Q%i%a!<%?$K$O?t;z$+!"%*%Z%l!<%F%#%s%0%7%9%F%`$N:GBg$H$J$k(B + <code>max</code> $B$N$I$A$i$+$r;XDj$9$k$3$H$,$G$-$^$9!#(B + $B:GBg$N%j%=!<%9%j%_%C%H$r>e$2$k$?$a$K$O!"%5!<%P$r(B root + $B$G<B9T$9$k$+!"(Broot $B$K$h$C$F5/F0$5$l$J$1$l$P$$$1$^$;$s!#(B </p> + + <p>$B$A$J$_$K!"$3$N@_Dj$O(B Apache + $B$N;R%W%m%;%9<+BN$G$O$J$/!"%j%/%(%9%H$r<u$1IU$1$?(B Apache + $B$N;R%W%m%;%9$+$i(B fork $B$5$l$?%W%m%;%9$KE,MQ$5$l$^$9!#$3$l$K$O(B + CGI $B$d(B SSI $B$+$i<B9T$5$l$?%3%^%s%I$,4^$^$l$^$9$,!"(BApache + $B$N?F%W%m%;%9$+$i(B fork $B$5$l$?%m%0$N%Q%$%W%W%m%;%9$J$I$K$OE,MQ$5$l$^$;$s!#(B</p> + + <p>$B%W%m%;%9$N@)8B$O!"%f!<%6$"$?$j$N%W%m%;%9?t$G@)8f$5$l$^$9!#(B</p> + + <p>$BCm0UE@(B: CGI $B%W%m%;%9$,%&%'%V%5!<%P$N%f!<%6(B ID + $B0J30$G<B9T$5$l$k$N$G(B<strong>$BL5$1$l$P(B</strong>$B!"$3$N%G%#%l%/%F%#%V$O!"(B + $B%5!<%P<+?H$,@8@.$G$-$k%W%m%;%9$N?t$r@)8B$9$k$3$H$K$J$j$^$9!#(B + $B$=$N$h$&$J>u67$K$J$C$F$$$k$+$I$&$+$O!"%(%i!<%m%0$NCf$N(B + <strong><em>cannot fork</em></strong> + $B$H$$$&%a%C%;!<%8$K$h$j3NG'$9$k$3$H$,$G$-$^$9!#(B</p> + + <p><a href="#rlimitcpu">RLimitCPU</a> $B$d(B <a + href="#rlimitcpu">RLimitCPU</a> $B$b;2>H$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="satisfy" name="satisfy">Satisfy $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> Satisfy any|all<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> Satisfy all<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Satisfy $B$O(B Apache 1.2 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p><code>Allow</code> $B$H(B <code>Require</code> + $B$NN>J}$,;H$o$l$F$$$k$H$-$N%"%/%;%9%]%j%7!<$r@_Dj$7$^$9!#%Q%i%a!<%?$O(B + <em>'all'</em> $B$+(B <em>'any'</em> + $B$G$9!#$3$N%G%#%l%/%F%#%V$O$"$k>l=j$X$N%"%/%;%9$,%f!<%6L>(B/$B%Q%9%o!<%I(B + <em>$B$H(B</em>$B%/%i%$%"%s%H$N%[%9%H$N%"%I%l%9$G@)8B$5$l$F$$$k$H$-$K$N$_(B + $BLrN)$A$^$9!#%G%U%)%k%H$NF0:n(B ("all") + $B$O%/%i%$%"%s%H$,%"%I%l%9$K$h$k%"%/%;%9@)8B$rK~$?$7!"(B + <em>$B$+$D(B</em>$B@5$7$$%f!<%6L>$H%Q%9%o!<%I$rF~NO$9$k$3$H$rMW5a$7$^$9!#(B + "any" $B$G$O!"%/%i%$%"%s%H$O%[%9%H$N@)8B$rK~$?$9$+!"(B + $B@5$7$$%f!<%6L>$H%Q%9%o!<%I$NF~NO$r$9$k$+$r$9$l$P%"%/%;%9$r5v2D$5$l$^$9!#(B + $B$3$l$O!"$"$k>l=j$r%Q%9%o!<%I$GJ]8n$9$k$1$l$I!"FCDj$N%"%I%l%9$+$i$N(B + $B%/%i%$%"%s%H$K$O%Q%9%o!<%I$NF~NO$rMW5a$;$:$K%"%/%;%9$r5v2D$9$k!"(B + $B$H$$$&$h$&$J$H$-$K;HMQ$G$-$^$9!#(B</p> + + <p><a href="#require">Require</a> $B$H(B <a + href="mod_access.html#allow">Allow</a> $B$b;2>H$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="scoreboardfile" name="scoreboardfile">ScoreBoardFile + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ScoreBoardFile + <em>$B%U%!%$%k%Q%9(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ScoreBoardFile + logs/apache_status</code> <br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B%"!<%-%F%/%A%c$K$h$C$F$O!"%5!<%P$N?F%W%m%;%9$H;R%W%m%;%9$,(B + $BDL?.$9$k$?$a$N%U%!%$%k$rCV$/>l=j$r;XDj$9$k$?$a$K(B ScoreBoardFile + $B%G%#%l%/%F%#%V$r;H$&I,MW$,$"$k$3$H$,$"$j$^$9!#(B + $B;HMQ$7$F$$$k%"!<%-%F%/%A%c$,(B scoreboard + $B%U%!%$%k$rI,MW$H$7$F$$$k$+$I$&$+$rD4$Y$k0lHV4JC1$JJ}K!$O(B Apache + $B$r<B9T$7$F$3$N%G%#%l%/%F%#%V$G;XDj$5$l$F$$$k(B + $B%U%!%$%k$r:n@.$9$k$+$I$&$+$r8+$k$3$H$G$9!#(B + $B;HMQ$7$F$$$k%"!<%-%F%/%A%c$G$3$l$,I,MW$J>l9g$O!"$3$N%U%!%$%k$r;H$&(B + Apache $B$O0l$D$@$1$G$"$k$3$H$r3N<B$K$9$kI,MW$,$"$j$^$9!#(B</p> + + <p>ScoreBoardFile $B$r;H$&I,MW$,$"$k>l9g$O!"$=$l$r(B RAM + $B%G%#%9%/>e$KCV$/$3$H$GB.EY$,8~>e$9$k$G$7$g$&!#(B + $B$?$@$7!"%m%0%U%!%$%k$N0LCV$H(B + <a href="../misc/security_tips.html">$B%;%-%e%j%F%#(B</a>$B$K4X$9$k(B + $B7Y9p$r==J,Cm0U$9$kI,MW$,$"$j$^$9!#(B</p> + + <p>Apache 1.2 $B0J9_(B:</p> + + <p>Linux 1.x $B%f!<%6$O(B <code>Configuration</code> $B$N(B + <code>EXTRA_CFLAGS</code> $B$K(B <code>-DHAVE_SHMGET</code> $B$r(B + $B@_Dj$9$k$3$H$,$G$-$k$+$b$7$l$^$;$s!#$3$l$O!"(B1.x + $B$N$$$/$D$+$G$OF0:n$7$^$9$,!"(B + $B$9$Y$F$GF0:n$9$k$H$$$&$o$1$G$O$"$j$^$;$s!#(B(1.3b4 $B$h$jA0$G$O(B + <code>HAVE_SHMGET</code> $B$G==J,$G$7$?!#(B)</p> + + <p>SVR4 $B%f!<%6$O(B <code>Configuration</code> $B$N(B + <code>EXTRA_CFLAGS</code> $B$K(B <code>-DUSE_SHMGET_SCOREBOARD</code> + $B$rDI2C$9$k$3$H$r9MN8$7$?J}$,NI$$$G$7$g$&!#(B + $B$3$l$OF0:n$9$k$H9M$($i$l$F$$$^$9$,!"(B1.2 + $B$N%j%j!<%9$^$G$K%F%9%H$r$9$k$3$H$O$G$-$^$;$s$G$7$?!#(B(1.3b4 + $B$h$jA0$G$O(B <code>HAVE_SHMGET</code> $B$G==J,$G$7$?!#(B)</p> + + <p><strong>$B;2>H(B</strong>: <a + href="../stopping.html">Apache $B$NDd;_$H:F5/F0(B</a></p> + <hr /> + + <h2><a id="scriptinterpretersource" + name="scriptinterpretersource">ScriptInterpreterSource + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ScriptInterpreterSource + registry|script<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> + <code>ScriptInterpreterSource script</code> <br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core (Windows $B$N$_(B) + + <p>$B$3$N%G%#%l%/%F%#%V$O!"(BApache 1.3.5 $B0J9_$G(B CGI + $B%9%/%j%W%H$r<B9T$9$k>l9g$KMxMQ$9$k%$%s%?!<%W%j%?$r!"(B + $B$I$N$h$&$KC5$7=P$9$+$K$D$$$F@)8f$9$k$?$a$K;HMQ$7$^$9!#(B + $B%G%U%)%k%H$N>l9g$O%9%/%j%W%H$N(B #! + $B9T$K;X$5$l$F$$$k%$%s%?!<%W%j%?$r;HMQ$7$^$9$,(B + ScriptInterpreterSource registry + $B$r;XDj$9$k$H!"%9%/%j%W%H%U%!%$%k$N3HD%;R(B ($BNc$($P!"(B .pl) + $B$r%-!<$H$7$F!"(BWindows $B$N%l%8%9%H%j$r8!:w$9$k$h$&$K$J$j$^$9!#(B</p> + <hr /> + + <h2><a id="sendbuffersize" name="sendbuffersize">SendBufferSize + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> SendBufferSize + <em>bytes</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>$B%5!<%P$O!"(BTCP + $B%P%C%U%!$N%5%$%:$r;XDj$5$l$?%P%$%H?t$K@_Dj$7$^$9!#9bB.$GBg$-$JCY1d(B + (<em>$BNc$($P(B</em>$B!"(B100ms $BDxEY$"$k$h$&$J9bB.$JBgN&2#CG2s@~$J$I(B) + $B$N$"$k>l9g$K!"%5%$%:$rI8=`$N(B OS + $B$N%G%U%)%k%H0J>e$KBg$-$/$9$k$?$a$KHs>o$KM-MQ$G$9!#(B</p> + <hr /> + + <h2><a id="serveradmin" name="serveradmin">ServerAdmin + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ServerAdmin + <em>email-address</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>ServerAdmin + $B$O!"%/%i%$%"%s%H$KJV$9$5$^$6$^$J%(%i!<%a%C%;!<%8Cf$K5-=R$9$k!"(B + $BEE;R%a!<%k$N%"%I%l%9$r@_Dj$7$^$9!#(B</p> + + <p>$B$=$N:]!"$3$l$N$?$a$K@lMQ$N%"%I%l%9$r@_Dj$9$k$N$,NI$$$G$7$g$&!#(B + <em>$BNc$($P!"(B</em></p> + + <blockquote> + <code>ServerAdmin www-admin@foo.bar.com</code> + </blockquote> + $B$H$$$C$?$h$&$K$7$^$9!#%f!<%6$O$$$D$b%5!<%P$K4X$9$kOC$G$"$k$H$$$&$3$H$r(B + $BL@5-$7$F$/$k$o$1$G$O$"$j$^$;$s$N$G!#(B + + <hr /> + + <h2><a id="serveralias" name="serveralias">ServerAlias + $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ServerAlias + <em>hostname</em> [<em>hostname</em>] ...<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> ServerAlias $B$O(B Apache 1.1 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>ServerAlias$B%G%#%l%/%F%#%V$O!"(B<a + href="../vhosts/name-based.html">$B%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H(B</a>$B$K$*$$$F(B + $B;HMQ$9$k%[%9%H$NJLL>$r;XDj$7$^$9!#(B</p> + + <p>$BNc(B:</p> + + <pre> + <VirtualHost *> + ServerName server.domain.com + ServerAlias server server2.domain.com server2 + ... + </VirtualHost> + </pre> + + <p><strong>$B;2>H(B:</strong> <a href="../vhosts/">Apache $B%P!<%A%c%k%[%9%H@bL@=q(B</a></p> + <hr /> + + <h2><a id="servername" name="servername">ServerName + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ServerName + <em>fully-qualified-domain-name</em> <br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>ServerName $B%G%#%l%/%F%#%V$O!"%5!<%P$N%[%9%HL>$r@_Dj$7$^$9!#(B + $B$3$l$O!"%j%@%$%l%/%H$9$k(B URL $B$r@8@.$9$k:]$KMxMQ$5$l$^$9!#(B + $BFC$K;XDj$,$J$5$l$F$$$J$+$C$?>l9g$K$O!"<+%5!<%P$KIUM?$5$l$F$$$k(B + IP $B%"%I%l%9$+$i?dB,$7$^$9$,!"$3$l$O3N<B$JJ}K!$G$O$J$/!"(B + $B@5$7$$%[%9%HL>$rJV$9$H$b8B$j$^$;$s!#(B<br /> + $BNc$($P(B:</p> + + <blockquote> + <code>ServerName www.example.com</code> + </blockquote> + $B$r!"%^%7%s$KBP$9$k@5$7$$(B ($B%a%$%s$N(B) $BL>A0$,!"(B + <code>simple.example.com</code> $B$G$"$k$H$-$K;H$&$3$H$,$G$-$^$9!#(B + + <p><a href="../vhosts/name-based.html">$BL>A0%Y!<%9$N%P!<%A%c%k%[%9%H(B</a> + $B$rMxMQ$7$F$$$k>l9g!"(B<a + href="#virtualhost"><code><VirtualHost></code></a> + $B%;%/%7%g%sFb$N(B <code>ServerName</code> + $B$O$3$N%P!<%A%c%k%[%9%H$K%^%C%A$9$k$?$a$K2?$,%j%/%(%9%H$N(B + Host: $B%X%C%@$K8=$l$kI,MW$,$"$k$N$+$r;XDj$7$^$9!#(B</p> + + <p><strong>$B;2>H(B</strong>:<br /> + <a href="../dns-caveats.html">DNS $B$K4X$9$kLdBj(B</a><br /> + <a href="../vhosts/">Apache$B%P!<%A%c%k%[%9%H@bL@=q(B</a><br /> + <a href="#usecanonicalname">UseCanonicalName</a><br /> + <a href="#namevirtualhost">NameVirtualHost</a><br /> + <a href="#serveralias">ServerAlias</a><br /> + </p> + <hr /> + + <h2><a id="serverpath" name="serverpath">ServerPath + $B%G%#%l%/%F%#%V(B</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ServerPath + <em>$B%G%#%l%/%H%j%Q%9(B</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> ServerPath $B$O(B Apache 1.1 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>ServerPath $B%G%#%l%/%F%#%V$O!"(B<a + href="../vhosts/">$B%M!<%`%Y!<%9$N%P!<%A%c%k%[%9%H(B</a>$B$K$*$$$FMxMQ$9$k(B + $B%l%,%7!<$J(B URL $B%Q%9L>$r@_Dj$7$^$9!#(B</p> + + <p><strong>$B;2>H(B:</strong> <a href="../vhosts/">Apache + $B%P!<%A%c%k%[%9%H@bL@=q(B</a></p> + <hr /> + + <h2><a id="serverroot" name="serverroot">ServerRoot + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ServerRoot + <em>$B%G%#%l%/%H%j%Q%9(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ServerRoot + /usr/local/apache</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>ServerRoot + $B%G%#%l%/%F%#%V$O!"%5!<%P$,<g$KMxMQ$9$k%G%#%l%/%H%j$r@_Dj$7$^$9!#(B + $BDL>o!"(B<code>conf/</code> $B$d(B <code>logs/</code> + $B$H$$$C$?%5%V%G%#%l%/%H%j$,4^$^$l$^$9!#(B + $B$^$?!"B>$N@_Dj%U%!%$%k$K$*$1$kAjBP%Q%9$O!"(B + $B$3$N%G%#%l%/%H%j$+$i$H$J$j$^$9!#(B</p> + + <p><a href="../invoking.html">httpd $B$N(B <code>-d</code> $B$K$D$$$F(B</a> + $B$r;2>H$7$F$/$@$5$$!#(B</p> + + <p>ServerRoot $B$N8"8B$r$I$N$h$&$K@_Dj$9$k$+$K$D$$$F$O(B <a + href="../misc/security_tips.html#serverroot">$B%;%-%e%j%F%#$K4X$9$k3P=q(B</a> + $B$K>pJs$,$"$j$^$9!#(B</p> + <hr /> + + <h2><a id="serversignature" + name="serversignature">ServerSignature $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ServerSignature + On|Off|EMail<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ServerSignature + Off</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j!"(B.htaccess<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> ServerSignature + $B$O(B Apache 1.3 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>ServerSignature $B%G%#%l%/%F%#%V$O!"%5!<%P$,@8@.$9$k%I%-%e%a%s%H(B + ($B%(%i!<%a%C%;!<%8!"(Bmod_proxy $B$K$*$1$k(B FTP $B$N%G%#%l%/%H%j%j%9%H!"(B + mod_info $B$N=PNO!"Ey!9(B) + $B$N:G2<9T$KIUM?$9$k%U%C%?$N@_Dj$r9T$J$$$^$9!#(B + $B$=$N$h$&$J!"%U%C%?9T$rM-8z$K$7$?$$M}M3$H$7$F$O!"(B + $B%W%m%-%7$,J#?tO"$J$C$F$$$k>l9g$K!"%f!<%6$O$I$N%5!<%P$,JV$7$?(B + $B%(%i!<%a%C%;!<%8$+$rCN$k<jCJ$,$[$H$s$IL5$$$+$i$G$9!#(B<br /> + $B%G%U%)%k%H$G$"$k(B <samp>Off</samp> + $B$K@_Dj$r$9$k$H!"%(%i!<$N:]$N9T$,M^@)$5$l$^$9!#(B + ($B$=$7$F!"(BApache-1.2 $B0JA0$H8_49$NF0:n$r$7$^$9(B) + <samp>On</samp> $B$K@_Dj$7$?>l9g$O!"C1$K%I%-%e%a%s%H$NCf$K!"(B + $B%5!<%P$N%P!<%8%g%s!"2TF0Cf$N%P!<%A%c%k%[%9%H$N(B <a + href="#servername">ServerName</a> $B$N=q$+$l$?9T$rDI2C$7!"(B + <samp>EMail</samp> $B$K$7$?>l9g$O$5$i$K;2>H$5$l$?%I%-%e%a%s%H$KBP$9$k(B <a + href="#serveradmin">ServerAdmin</a> $B$r;X$9(B "mailto:" $B$,DI2C$5$l$^$9!#(B</p> + <hr /> + + <h2><a id="servertokens" name="servertokens">ServerTokens + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ServerTokens + Minimal|ProductOnly|OS|Full<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ServerTokens + Full</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B <br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> ServerTokens $B$O(B Apache 1.3 + $B0J9_$GMxMQ2DG=$G$9!#(B + $B$^$?!"(B<code>ProductOnly</code> $B%-!<%o!<%I$O(B Apache 1.3.12 + $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$B$3$N%G%#%l%/%F%#%V$O!"%/%i%$%"%s%H$KAw$jJV$9(B <samp>Server</samp> + $B%l%9%]%s%9%X%C%@Fb$K!"%5!<%P$N0lHLE*$J(B OS + $B<oJL$d!"%3%s%Q%$%k$5$l$FAH$_9~$^$l$F$$$k%b%8%e!<%k$N>pJs$r(B + $B4^$a$k$+$I$&$+$r;XDj$7$^$9!#(B</p> + + <dl> + <dt><code>ServerTokens Prod[uctOnly]</code></dt> + + <dd>$B%5!<%P$O(B ($BNc$($P(B): <samp>Server: + Apache</samp> $B$H$$$C$?$h$&$KAw$j$^$9!#(B</dd> + + <dt><code>ServerTokens Min[imal]</code></dt> + + <dd>$B%5!<%P$O(B ($BNc$($P(B): <samp>Server: + Apache/1.3.0</samp> $B$H$$$C$?$h$&$KAw$j$^$9!#(B</dd> + + <dt><code>ServerTokens OS</code></dt> + + <dd>$B%5!<%P$O(B ($BNc$($P(B): <samp>Server: Apache/1.3.0 + (Unix)</samp> $B$H$$$C$?$h$&$KAw$j$^$9!#(B</dd> + + <dt><code>ServerTokens Full</code> ($B$b$7$/$OL$;XDj(B)</dt> + + <dd>$B%5!<%P$O(B ($BNc$($P(B): <samp>Server: Apache/1.3.0 + (Unix) PHP/3.0 MyMod/1.2</samp> $B$H$$$C$?$h$&$KAw$j$^$9!#(B</dd> + </dl> + + <p>$B$3$N@_Dj$O%5!<%PA4BN$KE,MQ$5$l!"(B + $B%P!<%A%c%k%[%9%H>e$GM-8z$K$7$?$jL58z$K$7$?$j$O$G$-$^$;$s!#(B</p> + <hr /> + + <h2><a id="servertype" name="servertype">ServerType + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ServerType + <em>type</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ServerType + standalone</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>ServerType $B%G%#%l%/%F%#%V$O!"%5!<%P$,%7%9%F%`$K$I$N$h$&$K(B + $B<B9T$5$l$k$+$r;XDj$7$^$9!#(B + <em>Type</em> $B$K$O!"<!$N$I$A$i$+$r;XDj$7$^$9!#(B</p> + + <dl> + <dt>inetd</dt> + + <dd>$B%5!<%P$O!"(Binetd $B%W%m%;%9$+$i<B9T$5$l!"(B + <code>/etc/inetd.conf</code> $B$K5/F0$9$k%3%^%s%I$r5-=R$7$^$9!#(B</dd> + + <dt>standalone</dt> + + <dd>$B%5!<%P$O!"%G!<%b%s%W%m%;%9$H$7$F<B9T$7!"(B + $B%7%9%F%`$N%9%?!<%H%"%C%W%9%/%j%W%H(B + (<code>/etc/rc.local</code> $B$+(B <code>/etc/rc3.d/...</code>) + $B$K5/F0$9$k%3%^%s%I$r5-=R$7$^$9!#(B</dd> + </dl> + + Inetd $B$O!"$"$^$jMxMQ$5$l$^$;$s!#(B + $B$=$N@_Dj$G$O!"(BHTTP $B@\B3$r<u$1$kEY$K!"%5!<%P$,(B 1 + $B$+$iN)$A>e$2$i$l!"@\B3$,=*N;$7$?8e$K%W%m%0%i%`$b=*N;$7$^$9!#(B + $B$3$l$O!"@\B3$NEY$K$H$F$bIi2Y$,$+$+$j$^$9$,!"(B + $B%;%-%e%j%F%#$rM}M3$K$3$N%*%W%7%g%s$r9%$`4IM}<T$b$$$^$9!#(B + <font color="red">$B$?$@!"(BInetd $B%b!<%I$O?d>)$5$l$F$*$i$:!"(B + $B:#8e$b$:$C$HMxMQ2DG=$H$$$&$o$1$G$O$"$j$^$;$s!#(B + $B2DG=$J8B$j;H$o$J$$$G$/$@$5$$!#(B</font> + + <p>Standalone $B$O!"$:$C$H8zN(E*$G$"$k$?$a!"(BServerType + $B$NI8=`E*$J@_Dj$H$J$C$F$$$^$9!#(B + $B%5!<%P$O0lEY5/F0$5$l$k$H!"$9$Y$F$N@\B3$r=hM}$7$^$9!#(B + $B$b$7!"Ii2Y$N9b$$%5%$%H$G(B Apache $B$rMxMQ$9$k$D$b$j$G$"$l$P!"(B + standalone $B$OM#0l$N%*%W%7%g%s$H$$$($k$G$7$g$&!#(B</p> + <hr /> + + <h2><a id="shmemuidisuser" name="shmemuidisuser">ShmemUIDisUser + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ShmemUIDisUser + <em>on|off</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ShmemUIDisUser + off</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> + + <p>ShmemUIDisUser $B%G%#%l%/%F%#%V$O(B System V + $B6&M-%a%b%j$K4p$E$$$?%9%3%"%\!<%I$N!"=jM-<T$N(B <code>uid</code> $B$H(B + <code>gid</code> $B$r%5!<%P$N@_Dj$N(B <a href="#user">User</a> $B$H(B + <a href="#group">Group</a> $B$KJQ99$9$k$+$I$&$+$r@)8f$7$^$9!#(B + Apache 1.3.26 $B$^$G$N%j%j!<%9$O%G%U%)%k%H$G$3$l$r9T$C$F$$$^$7$?!#(B + $B;R%W%m%;%9$O4{$K6&M-%a%b%j%;%0%a%s%H$K%"%?%C%A$5$l$F$$$^$9$N$G!"(B + $B$=$NF0:n$O(B Apache $B$NDL>o$NF0:n$K$OI,MW$G$O$J$/!"967b$rKI$0$?$a$K$b!"(B + Apache $B$O$=$N$h$&$JF0:n$r$7$J$/$J$j$^$7$?!#$7$+$7!"FCJL$J>l9g$K$O(B + $B0JA0$NF0:n$,I,MW$K$J$k$3$H$b$"$j!"$=$l$O$3$N%G%#%l%/%F%#%V$r(B + <code>on</code> $B$K$9$k$3$H$G<B8=$G$-$^$9!#(B</p> + + <p>$B$3$N%G%#%l%/%F%#%V$O(BSystem V $B$K4p$E$$$?%9%3%"%\!<%I$G$O$J$$!"(B + <code>mmap</code> $B$N$h$&$J%7%9%F%`$G$O8zNO$O$"$j$^$;$s!#(B + + </p> + + <hr /> + + <h2><a id="startservers" name="startservers">StartServers + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> StartServers + <em>$B?tCM(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>StartServers + 5</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>StartServers $B%G%#%l%/%F%#%V$O!"5/F0;~$K$I$l$@$1$N%5!<%P;R%W%m%;%9$r(B + $B<B9T$9$k$N$+$r;XDj$7$^$9!#(B + $B%W%m%;%9$N?t$O!"Ii2Y$K$h$C$FF0E*$K@)8f$5$l$k$?$a!"(B + $BIaDL$O$3$N%Q%i%a!<%?$rJQ99$9$kM}M3$O$[$H$s$I$"$j$^$;$s!#(B</p> + + <p>Microsoft Windows + $B$G<B9T$9$k>l9g$K$O!"$3$N%G%#%l%/%F%#%V$O0UL#$r;}$A$^$;$s!#(B + Windows $B$G$O>o$K0l$D$N;R%W%m%;%9$,$9$Y$F$N%j%/%(%9%H$r07$$$^$9!#(B + $B;R%W%m%;%9$NFbIt$G$O!"%j%/%(%9%H$O%9%l%C%I$G=hM}$5$l$^$9!#(B + <a href="#threadsperchild">ThreadsPerChild</a> $B%G%#%l%/%F%#%V$O(B + $B%j%/%(%9%H$r07$&:GBg$N;R%9%l%C%I$N?t$r@)8f$7$^$9$N$G!"(BUNIX $B$G(B + <samp>StartServers</samp> $B$r;XDj$7$?$N$HF1$8$h$&$J8z2L$K$J$j$^$9!#(B</p> + + <p><a href="#minspareservers">MinSpareServers</a> $B$d(B + <a href="#maxspareservers">MaxSpareServers</a> $B$b;2>H$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="threadsperchild" + name="threadsperchild">ThreadsPerChild</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ThreadsPerChild + <em>$B?tCM(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ThreadsPerChild + 50</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core (Windows, + NetWare)<br /> + <strong>$B8_49@-(B:</strong> Windows $B>e$GF0:n$9$k(B Apache 1.3 + $B0J9_$K$*$$$F$N$_M-8z(B + + <p>$B$3$N%G%#%l%/%F%#%V$O!"%5!<%P$,$I$l$@$1$N%9%l%C%I$r;HMQ$9$k$N$+$r(B + $B;X<($7$^$9!#(B + $B$3$l$,!"%5!<%P$,=hM}$G$-$k:GBg@\B3?t$K$J$j$^$9!#(B + $B$?$/$5$s$N%R%C%H$,$"$k%5%$%H$N>l9g$K$O?tCM$rA}$d$9I,MW$,$"$j$^$9!#(B</p> + + <p>$B$J$*!"$3$N%G%#%l%/%F%#%V$O(B UNIX $B%7%9%F%`>e$G$O0UL#$r;}$A$^$;$s!#(B + UNIX $B$N>l9g$K$O!"(B <a href="#startservers">StartServers</a> $B$d(B <a + href="#maxrequestsperchild">MaxRequestsPerChild</a> + $B$r;2>H$7$F$/$@$5$$!#(B</p> + <hr /> + + <h2><a id="threadstacksize" + name="threadstacksize">ThreadStackSize</a></h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> ThreadStackSize + <em>$B?tCM(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>ThreadStackSize + 65536</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core (NetWare)<br /> + <strong>$B8_49@-(B:</strong> NetWare $B>e$GF0:n$9$k(B Apache 1.3 + $B0J9_$K$*$$$F$N$_M-8z(B + + <p>$B$3$N%G%#%l%/%F%#%V$O!"3F%9%l%C%I$N%9%?%C%/$N%5%$%:$r%5!<%P$K;X<($7$^$9!#(B + $B%9%?%C%/$,%*!<%P%U%m!<$9$k$h$&$G$"$l$P!"$h$jBg$-$J?tCM$K@_Dj$9$k(B + $BI,MW$,$"$j$^$9!#(B</p> + + <p>$B$3$N%G%#%l%/%F%#%V$O!"B>$N%7%9%F%`$N>l9g$K$O0UL#$r;}$A$^$;$s!#(B</p> + <hr /> + + <h2><a id="timeout" name="timeout">TimeOut $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> TimeOut + <em>$B?tCM(B</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>TimeOut + 300</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>TimeOut $B%G%#%l%/%F%#%V$O!"8=:_$N$H$3$m(B + $B0J2<$N;0$D$NBT$A;~4V$K$D$$$F$NDj5A$r9T$$$^$9(B:</p> + + <ol> + <li>GET $B%j%/%(%9%H$r<u$1<h$k$N$K$+$+$kAm;~4V(B</li> + + <li>POST $B$d(B PUT$B%j%/%(%9%H$K$*$$$F!"<!$N(B TCP + $B%Q%1%C%H$,FO$/$^$G$NBT$A;~4V(B</li> + + <li>$B%l%9%]%s%9$rJV$9:]!"(BTCP $B$N(B ACK $B$,5"$C$F$/$k$^$G$N;~4V(B</li> + </ol> + $B>-Mh$K$OJL!9$N@_Dj$r$9$k$3$H$,2DG=$K$G$-$k$h$&9M0FCf$G$9!#(B + Apache 1.2 $B0JA0$K$*$$$F$O%?%$%^!<$O(B 1200 $B$,%G%U%)%k%H$G$7$?$,!"(B + 300 $B$K2<$2$i$l$^$7$?!#(B300 $B$G$b$[$H$s$I$N>l9g$O==J,$9$.$kCM$G$9!#(B + $B%3!<%ICf$NJQ$J>l=j$K$^$@%Q%1%C%H$rAw$k:]$K%?%$%^$r%j%;%C%H$7$J$$(B + $B>l=j$,$"$k$+$b$7$l$J$$$N$G!"%G%U%)%k%H$r$h$j>.$5$$CM$K$O$7$F$$$^$;$s!#(B + <hr /> + + <h2><a id="usecanonicalname" + name="usecanonicalname">UseCanonicalName $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> UseCanonicalName + on|off|dns<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>UseCanonicalName + on</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H!"%G%#%l%/%H%j(B<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>$B>e=q$-(B:</strong></a> Options<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> UseCanonicalName + $B$O(B Apache 1.3 $B0J9_$GMxMQ2DG=$G$9!#(B + + <p>$BB?$/$N>u67$G(B Apache $B$O(B<em>$B<+8J;2>H(B</em> + URL$B!"$9$J$o$AF1$8%5!<%P$r;X$9(B URL$B!"$r:n@.$9$kI,MW$,$"$j$^$9!#(B + <code>UseCanonicalName on</code> $B$r;H$&$H(B (1.3 + $B$h$jA0$N$9$Y$F$N%P!<%8%g%s$G$b(B) Apache $B$O(B <a + href="#servername">ServerName</a> $B%G%#%l%/%F%#%V$H(B <a + href="#port">Port</a> + $B%G%#%l%/%F%#%V$r;H$C$F%5!<%P$N@5<0$JL>A0$r:n@.$7$^$9!#(B + $B$3$NL>A0$,$9$Y$F$N<+8J;2>H(B URL $B$G;H$o$l!"(BCGI $B$N(B + <code>SERVER_NAME</code> $B$H(B <code>SERVER_PORT</code> + $B$K$b;H$o$l$^$9!#(B</p> + + <p>$BNc$($P!"(B<a href="#servername">ServerName</a> $B$,(B + <code>www.example.com</code> $B$K@_Dj$5$l$F$$$F!"(B<a + href="#port">Port</a> $B$,(B <code>9090</code> + $B$K@_Dj$5$l$F$$$k>l9g$O!"%5!<%P$N(B<em>$B@5<0$JL>A0(B</em>$B$O(B + <code>www.example.com:9090</code> $B$K$J$j$^$9!#(B<code>Port</code> + $B$NCM$,%G%U%)%k%H$N(B <code>80</code> $B$G$"$k$H$-$O!"(B + <code>:80</code> $B$O(B<em>$B@5<0$JL>A0(B</em>$B$+$i$O>J$+$l$^$9!#(B</p> + + <p><code>UseCanonicalName off</code> $B$G$O(B Apache + $B$O%/%i%$%"%s%H$,%[%9%HL>$H%]!<%H$rDs6!$7$?>l9g$K$O$=$l$i$r85$K<+8J;2>H(B + URL $B$r:n@.$7$^$9(B ($BDs6!$5$l$F$$$J$$>l9g$O>e$GDj5A$5$l$F$$$k$h$&$K(B + $B@5<0$JL>A0$r;H$$$^$9(B)$B!#(B + $B$3$l$i$NCM$O(B<a href="../vhosts/name-based.html">$BL>A0%Y!<%9$N(B + $B%P!<%A%c%k%[%9%H(B</a>$B$r<BAu$9$k$N$K;H$o$l$F$$$k$N$HF1$8CM$G!"(B + $BF1$8%/%i%$%"%s%H$+$i<hF@$G$-$kCM$G$9!#(BCGI $BJQ?t(B + <code>SERVER_NAME</code> $B$H(B <code>SERVER_PORT</code> + $B$b%/%i%$%"%s%H$+$iM?$($i$l$?CM$+$i:n@.$5$l$^$9!#(B</p> + + <p>$B$3$l$,M-MQ$J>l9g$NNc$O!"%$%s%H%i%M%C%H$N%5!<%P$G!"(B<code>www</code> + $B$N$h$&$JC;$$L>A0$G%f!<%6$,%^%7%s$K@\B3$7$F$$$k$H$-$G$9!#(B + $B%f!<%6$,C;$$L>A0$rF~NO$7$F!"(BURL + $B$,(B<em>$B:G8e$N%9%i%C%7%eL5$7$N(B</em>$B%G%#%l%/%H%j$X$N$b$N$G$"$k$H$-$K!"(B + Apache $B$O%j%/%(%9%H$r(B <code>http://www.domain.com/splat/</code> + $B$X%j%@%$%l%/%H$9$k$3$H$K5$IU$/$G$7$g$&!#(B + $BG'>Z$r$9$k$h$&$K@_Dj$7$F$$$k$H!"$3$N>l9g%f!<%6$O(B + 2 $B2sG'>Z$r$7$J$1$l$P$J$i$J$/$J$j$^$9(B (<code>www</code> $B$KBP$7$F(B + 1 $B2s!"(B<code>www.domain.com</code> $B$KBP$7$F$b$&0l2s(B -- + $B$h$j>\$7$$>pJs$O(B <a href="../misc/FAQ.html#prompted-twice">$B$3$NOCBj$N(B + FAQ</a> $B$r;2>H$7$F$/$@$5$$(B)$B!#$7$+$7!"(B<code>UseCanonicalName</code> + $B$,(B off $B$K$J$C$F$$$k$H!"(BApache $B$O(B <code>htttp://www/splat/</code> + $B$K%j%@%$%l%/%H$7$^$9!#(B</p> + + <p>$B;0$DL\$N%*%W%7%g%s(B <code>UseCanonicalName DNS</code> $B$O!"(B + <code>Host:</code> + $B%X%C%@$rDs6!$7$J$$8E$$%/%i%$%"%s%H$r%5%]!<%H$7$?Bg5,LO$J(B IP + $B%Y!<%9$N%P!<%A%c%k%[%9%F%#%s%0$G;HMQ$5$l$k$3$H$r0U?^$7$F$$$^$9!#(B + $B$3$N%*%W%7%g%s$G$O!"(BApache $B$O%/%i%$%"%s%H$,@\B3$7$?(B IP $B%"%I%l%9$K(B + DNS $B$N5U0z$-$r9T$J$C$F<+8J;2>H(B URL $B$r:n@.$7$^$9!#(B</p> + + <p><strong>$B7Y9p(B:</strong> CGI $B$,(B <code>SERVER_NAME</code> + $B$K4X$9$k2>Dj$r9T$J$C$F$$$k$H$-$O!"(B + $B$3$N%*%W%7%g%s$N@_Dj$GF0:n$7$J$/$J$k$+$b$7$l$^$;$s!#(B + $B%/%i%$%"%s%H$O<B<AE*$K$O%[%9%HL>$K$H$7$F(B + $B2?$G$bK>$_$NCM$r;XDj$9$k$3$H$,$G$-$^$9!#$7$+$7!"(BCGI $B$,(B + <code>SERVER_NAME</code> $B$N$_$r;H$C$F<+8J;2>H(B URL + $B$r:n@.$7$F$$$k>l9g$O$I$N@_Dj$r9T$J$C$F$bBg>fIW$J$O$:$G$9!#(B</p> + + <p><strong>$B;2>H(B:</strong> <a + href="#servername">ServerName</a>, <a href="#port">Port</a></p> + <hr /> + + <h2><a id="user" name="user">User $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> User + <em>unix-userid</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>User + #-1</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> core + + <p>User $B%G%#%l%/%F%#%V$O%5!<%P$,%j%/%(%9%H$K1~Ez$9$k$H$-$N%f!<%6(B + ID $B$r@_Dj$7$^$9!#$3$N%G%#%l%/%F%#%V$r;H$&$?$a$K$O!"(Bstandalone + $B%5!<%P$,(B root $B$H$7$F5/F0$5$l$F$$$J$1$l$P$J$j$^$;$s!#(B + <em>Unix-userid</em> $B$O0J2<$N$I$l$+$G$9(B:</p> + + <dl> + <dt>$B%f!<%6L>(B</dt> + + <dd>$BL>A0$G%f!<%6$r;XDj!#(B</dd> + + <dt># $B$N8e$K%f!<%6HV9f!#(B</dt> + + <dd>$BHV9f$G%f!<%6$r;XDj!#(B</dd> + </dl> + $B%f!<%6$O30$N@$3&$+$i8+$i$l$k$3$H$r0U?^$7$F$$$J$$%U%!%$%k$r%"%/%;%9(B + $B$G$-$F$7$^$&$h$&$J8"8B$,L5$$$b$N$K$9$Y$-$G!"F1MM$K(B httpd $B$N%j%/%(%9%H(B + $B$KBP$7$F0U?^$5$l$F$$$J$$%3!<%I$r<B9T$G$-$J$$$h$&$J$b$N$K$9$Y$-$G$9!#(B + $B%5!<%P$r<B9T$9$k$?$a$@$1$K?7$7$$@lMQ$N%f!<%6$H%0%k!<%W$r@_Dj$9$k$3$H$r(B + $B$*4+$a$7$^$9!#4IM}<T$NCf$K$O(B <code>nobody</code> $B$r;H$&?M$b$$$^$9$,!"(B + $B$3$N%f!<%6$O>o$K;HMQ2DG=$H$$$&$o$1$G$O$J$/!"K>$^$7$$$o$1$G$b$"$j$^$;$s!#(B + $BNc$($P!"(Bmod_proxy $B$N%-%c%C%7%e$r;HMQ$7$F$$$k$H$-$O!"(B + $B$=$l$r$3$N%f!<%6$,%"%/%;%9$G$-$kI,MW$,$"$j$^$9(B + (<a href="mod_proxy.html#cacheroot"><code>CacheRoot</code> + $B%G%#%l%/%F%#%V(B</a> $B$r;2>H(B)$B!#(B + + <p>$BCm0U(B: root $B$G$J$$%f!<%6$G%5!<%P$r<B9T$7$?>l9g$O!"$h$j>/$J$$8"8B$N(B + $B%f!<%6$X$NJQ99$K<:GT$7!"85!9$N%f!<%6$H$7$F<B9T$7B3$1$^$9!#(B + root $B$G%5!<%P$r<B9T$7$?$H$-$O!"?F%W%m%;%9$,(B root + $B$N$^$^<B9T$7B3$1$k$N$O@5>o$JF0:n$G$9!#(B</p> + + <p>$BFCJL$JCm0U(B: $B$3$N%G%#%l%/%F%#%V$r(B <VirtualHost> + $BFb$G;H$&$K$OE,@Z$K@_Dj$5$l$?(B <a href="../suexec.html">suEXEC + $B%i%C%Q!<(B</a>$B$,I,MW$G$9!#$3$N$h$&$K(B <VirtualHost> + $B$NCf$G;H$o$l$?$H$-$O(B CGI $B$r<B9T$9$k%f!<%6$@$1$,1F6A$r<u$1$^$9!#(B + CGI $B0J30$N%j%/%(%9%H$O0MA3$H$7$F<g(B User + $B%G%#%l%/%F%#%V$G;XDj$5$l$?%f!<%6$G=hM}$5$l$^$9!#(B</p> + + <p>$B%;%-%e%j%F%#(B: $B<+J,$,2?$r$d$C$F$$$k$+$r40A4$KM}2r$7$F$$$F(B + $B$I$N$h$&$J4m81@-$,$"$k$+$rM}2r$7$F$$$J$$>l9g$O!"(B + User ($B$b$7$/$O(B <a href="#group">Group</a>) $B$r(B root + $B$K$7$J$$$G$/$@$5$$!#(B</p> + + <hr /> + + <h2><a id="virtualhost" name="virtualhost"><VirtualHost> + $B%G%#%l%/%F%#%V(B</a></h2> + + <a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> <VirtualHost + <em>addr</em>[:<em>port</em>] [<em>addr</em>[:<em>port</em>]] + ...> ... </VirtualHost> <br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> $B%5!<%P@_Dj%U%!%$%k(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Core.<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> IP $B%"%I%l%9%Y!<%9$G$J$$%P!<%A%c%k%[%9%H$O!"(B + Apache 1.1 $B0J9_$GMxMQ2DG=$G$9!#(B<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> $BJ#?t$N%"%I%l%9$N;XDj$O(B Apache 1.2 + $B0J9_$G$N$_2DG=$G$9!#(B + + <p><VirtualHost> $B5Z$S(B </VirtualHost> $B$O!"(B + $B$"$k%P!<%A%c%k%[%9%H$KBP$7$F$N$_E,MQ$5$l$k%G%#%l%/%F%#%V72$r0O$`(B + $B$?$a$K;H$o$l$^$9!#(B + $B%P!<%A%c%k%[%9%H%3%s%F%-%9%H$G5v2D$5$l$k$9$Y$F$N%G%#%l%/%F%#%V$r;XDj2DG=$G$9!#(B + $B%5!<%P$,!";XDj$5$l$?%P!<%A%c%k%[%9%H$K$"$k%I%-%e%a%s%H$X$N%j%/%(%9%H$r<u$1IU$1$?>l9g!"(B + <VirtualHost> $B%;%/%7%g%s$NCf$K$"$k%G%#%l%/%F%#%V$,E,MQ$5$l$^$9!#(B + + <em>Addr</em>$B!!$O!"<!$N$b$N$,MxMQ$G$-$^$9!#(B</p> + + <ul> + <li>$B%P!<%A%c%k%[%9%H$N(B IP $B%"%I%l%9(B</li> + + <li>$B%P!<%A%c%k%[%9%H$N(B IP $B$KBP1~$9$k40A4$J%I%a%$%sL>(B</li> + </ul> + $BNc(B: + + <blockquote> + <code><VirtualHost 10.1.2.3><br /> + ServerAdmin webmaster@host.foo.com<br /> + DocumentRoot /www/docs/host.foo.com<br /> + ServerName host.foo.com<br /> + ErrorLog logs/host.foo.com-error_log<br /> + TransferLog logs/host.foo.com-access_log<br /> + </VirtualHost></code> + </blockquote> + $B3F!9$N%P!<%A%c%k%[%9%H$K$O$=$l$>$l0c$&(B IP + $B%"%I%l%9!"%]!<%HHV9f<c$7$/$O%[%9%HL>$KBP1~$9$kI,MW$,$"$j!"(B + 1 $BHVL\$N>l9g$K$OJ#?t$N%"%I%l%9$G(B IP + $B%Q%1%C%H$r<u?.$G$-$k$h$&$K%5!<%P%^%7%s$r@_Dj$7$J$1$l$P$J$j$^$;$s!#(B + ($B$b$7!"%^%7%s$,J#?t$N%M%C%H%o!<%/%$%s%?!<%U%'!<%9$r;}$?$J$$>l9g$O!"(B + (OS$B$,%5%]!<%H$7$F$$$l$P(B) <code>ifconfig alias</code> $B%3%^%s%I$d(B + <a href="../misc/vif-info.html">VIF</a> $B$N$h$&$J%+!<%M%k%Q%C%A(B + (SunOS(TM) 4.1.x $BMQ(B) $B$K$h$jC#@.$G$-$^$9(B)$B!#(B + + <p>$BJ#?t$N(B IP $B%"%I%l%9$rDj5A$9$k$3$H$b$G$-$^$9!#(B + $BFs$D$N%$%s%?%U%'!<%9$KBP$7$FF1$8L>A0$G1~Ez$7$F$$$k$H$-$KM-MQ$G$7$g$&!#(B + $BNc$($P!"FbIt8~$1(B ($B%$%s%H%i%M%C%H(B) $B$H(B + $B30It8~$1(B ($B%$%s%?!<%M%C%H(B) $B$K%P!<%A%c%k%[%9%H$r$7$F$$$k>l9g$G$9!#(B<br /> + $B@_DjNc(B:</p> + + <blockquote> + <code><VirtualHost 192.168.1.2 204.255.176.199><br /> + DocumentRoot /www/docs/host.foo.com<br /> + ServerName host.foo.com<br /> + ServerAlias host<br /> + </VirtualHost></code> + </blockquote> + + <code>_default_</code> $B$H$$$&FCJL$JL>A0$r;XDj$9$k$3$H$K$h$j!"(B + $BB>$N%P!<%A%c%k%[%9%H$G;XDj$5$l$F$$$J$$(B IP + $B%"%I%l%9$9$Y$F$KBP$7$F%^%C%A$5$;$k$3$H$,2DG=$G$9!#(B_default_ + $B%P!<%A%c%k%[%9%H$,L5$$$H$-$O!"$b$7$I$3$K$b%^%C%A$7$J$$$H(B VirtualHost + $B%;%/%7%g%s$N30$NDj5A$+$i$J$k!V<g!W%5!<%P@_Dj$,;HMQ$5$l$^$9!#(B + + <p><code>:port</code> + $B$H$$$C$?7A<0$G5-=R$9$k$3$H$K$h$j!"%^%C%A$5$;$k%]!<%H$rJQ992DG=$G$9!#(B + $B$3$N;XDj$r$7$J$$>l9g$K$O!"<g%5!<%P@_Dj$K$*$1$k0lHV:G8e$K(B + <code><a href="#port">Port</a></code> + $B$G;XDj$5$l$?%]!<%H$,%G%U%)%k%H$H$J$j$^$9!#(B + <code>:*</code> $B$r;XDj$9$k$3$H$K$h$j!"(B + $B%"%I%l%9>e$N$9$Y$F$N%]!<%H$K%^%C%A$7$^$9!#(B(<code>_default_</code> + $B$N$H$-$O$3$l$r;H$&$3$H$,?d>)$5$l$F$$$^$9!#(B)</p> + + <p><strong>$B%;%-%e%j%F%#$K4X$7$F(B</strong>: + $B%5!<%P!<$r5/F0$7$?0J30$N%f!<%6$,%m%0%U%!%$%k$,J]4I$5$l$k%G%#%l%/%H%j$K(B + $B=q$-9~$_2DG=$J$H$-$K$J$<%;%-%e%j%F%#$,GK$i$l$k2DG=@-$,$"$k$+$N>\:Y$O(B + <a href="../misc/security_tips.html">$B%;%-%e%j%F%#$K4X$9$k%3%D(B</a> + $B$r;2>H$7$F$/$@$5$$!#(B</p> + + <p><strong>$BCm0UE@(B</strong>: <VirtualHost> $B$O(B Apache $B$,(B + Listen $B$9$k(B IP $B%"%I%l%9$K$O1F6A$rM?$((B<strong>$B$^$;$s(B</strong>$B!#(B + <a href="#bindaddress">BindAddress</a> $B$+(B + <a href="#listen">Listen</a> $B$r;H$C$F(B Apache $B$,@5$7$$%"%I%l%9$r(B + listen $B$9$k$h$&$K@_Dj$9$kI,MW$,$"$k$+$b$7$l$^$;$s!#(B</p> + + <p><strong>$B;2>H(B:</strong> <a href="../vhosts/">Apache $B%P!<%A%c%k%[%9%H@bL@=q(B</a><br /> + <strong>$B;2>H(B:</strong> <a + href="../dns-caveats.html">DNS $B$K4X$9$kLdBj(B</a><br /> + <strong>$B;2>H(B:</strong> <a href="../bind.html">Apache $B$,MxMQ$9$k%"%I%l%9$H%]!<%H$r@_Dj$9$k(B</a><br /> + <strong>$B;2>H(B</strong>: + $B%j%/%(%9%H$r<u$1$?:]$K!"0[$J$kJ#?t$N%;%/%7%g%s$,$I$N$h$&$K$7$FAH$_9g$o$5$l$k$N$+$K$D$$$F$O(B + <a href="../sections.html">Directory, Location, Files $B%;%/%7%g%s$NF0:nK!(B</a> + </p> + <hr /> + + <hr /> + + <h3 align="CENTER">Apache HTTP Server Version 1.3</h3> + <a href="./"><img src="../images/index.gif" alt="Index" /></a> + <a href="../"><img src="../images/home.gif" alt="Home" /></a> + + </body> +</html> + + + diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_alias.html.html b/usr.sbin/httpd/htdocs/manual/mod/mod_alias.html.html new file mode 100644 index 00000000000..93ea7d84f78 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/mod_alias.html.html @@ -0,0 +1,399 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" content="HTML Tidy, see www.w3.org" /> + + <title>Apache module mod_alias</title> + </head> + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + + <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" + vlink="#000080" alink="#FF0000"> + <div align="CENTER"> + <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> + + <h3>Apache HTTP Server Version 1.3</h3> + </div> + + + <h1 align="CENTER">Module mod_alias</h1> + + <p>This module provides for mapping different parts of the host + filesystem in the document tree, and for URL redirection.</p> + + <p><a href="module-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="module-dict.html#SourceFile" + rel="Help"><strong>Source File:</strong></a> mod_alias.c<br /> + <a href="module-dict.html#ModuleIdentifier" + rel="Help"><strong>Module Identifier:</strong></a> + alias_module</p> + + <h2>Summary</h2> + + <p>The directives contained in this module allow for + manipulation and control of URLs as requests arrive at the + server. The <code>Alias</code> and <code>ScriptAlias</code> + directives are used to map between URLs and filesystem paths. + This allows for content which is not directly under the <a + href="core.html#documentroot"><code>DocumentRoot</code></a> to + be served as part of the web document tree. The + <code>ScriptAlias</code> directive has the additional effect of + marking the target directory as containing only CGI + scripts.</p> + + <p>The <code>Redirect</code> directives are used to instruct + clients to make a new request with a different URL. They are + often used when a resource has moved to a new location.</p> + + <p>A more powerful and flexible set of directives for + manipulating URLs is contained in the <a + href="mod_rewrite.html"><code>mod_rewrite</code></a> + module.</p> + + <h2>Directives</h2> + + <ul> + <li><a href="#alias">Alias</a></li> + + <li><a href="#aliasmatch">AliasMatch</a></li> + + <li><a href="#redirect">Redirect</a></li> + + <li><a href="#redirectmatch">RedirectMatch</a></li> + + <li><a href="#redirecttemp">RedirectTemp</a></li> + + <li><a href="#redirectperm">RedirectPermanent</a></li> + + <li><a href="#scriptalias">ScriptAlias</a></li> + + <li><a href="#scriptaliasmatch">ScriptAliasMatch</a></li> + </ul> + <hr /> + + <h2><a id="alias" name="alias">Alias directive</a></h2> + + <p> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> Alias <em>URL-path + file-path</em>|<em>directory-path</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_alias</p> + + <p>The Alias directive allows documents to be stored in the + local filesystem other than under the <a + href="core.html#documentroot">DocumentRoot</a>. URLs with a + (%-decoded) path beginning with <em>url-path</em> will be + mapped to local files beginning with + <em>directory-filename</em>.</p> + + <p>Example:</p> + + <blockquote> + <code>Alias /image /ftp/pub/image</code> + </blockquote> + + <p>A request for http://myserver/image/foo.gif would cause the + server to return the file /ftp/pub/image/foo.gif.</p> + + <p>Note that if you include a trailing / on the + <em>url-path</em> then the server will require a trailing / in + order to expand the alias. That is, if you use <code>Alias + /icons/ /usr/local/apache/icons/</code> then the url + <code>/icons</code> will not be aliased.</p> + + <p>Note that you may need to specify additional <a + href="core.html#directory"><code><Directory></code></a> + sections which cover the <em>destination</em> of aliases. + Aliasing occurs before <code><Directory></code> sections + are checked, so only the destination of aliases are affected. + (Note however <a + href="core.html#location"><code><Location></code></a> + sections are run through once before aliases are performed, so + they will apply.)</p> + + <p>See also <a href="#scriptalias">ScriptAlias</a>.</p> + <hr /> + + <h2><a id="aliasmatch" name="aliasmatch">AliasMatch</a></h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> AliasMatch <em>regex + file-path</em>|<em>directory-path</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_alias<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> Available in + Apache 1.3 and later</p> + + <p>This directive is equivalent to <a href="#alias">Alias</a>, + but makes use of standard regular expressions, instead of + simple prefix matching. The supplied regular expression is + matched against the URL-path, and if it matches, the server + will substitute any parenthesized matches into the given string + and use it as a filename. For example, to activate the + <code>/icons</code> directory, one might use:</p> +<pre> + AliasMatch ^/icons(.*) /usr/local/apache/icons$1 +</pre> + <hr /> + + <h2><a id="redirect" name="redirect">Redirect + directive</a></h2> + + <p> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> Redirect + [<em>status</em>] <em>URL-path URL</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host, directory, .htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>Override:</strong></a> FileInfo<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_alias<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> The directory + and .htaccess context's are only available in versions 1.1 and + later. The <em>status</em> argument is only available in Apache + 1.2 or later.</p> + + <p>The Redirect directive maps an old URL into a new one. The + new URL is returned to the client which attempts to fetch it + again with the new address. <em>URL-path</em> a (%-decoded) + path; any requests for documents beginning with this path will + be returned a redirect error to a new (%-encoded) URL beginning + with <em>URL</em>.</p> + + <p>Example:</p> + + <blockquote> + <code>Redirect /service http://foo2.bar.com/service</code> + </blockquote> + + <p>If the client requests http://myserver/service/foo.txt, it + will be told to access http://foo2.bar.com/service/foo.txt + instead.</p> + + <p><strong>Note:</strong> Redirect directives take precedence + over Alias and ScriptAlias directives, irrespective of their + ordering in the configuration file. Also, <em>URL-path</em> + must be an absolute path, not a relative path, even when used + with .htaccess files or inside of <Directory> + sections.</p> + + <p>If no <em>status</em> argument is given, the redirect will + be "temporary" (HTTP status 302). This indicates to the client + that the resource has moved temporarily. The <em>status</em> + argument can be used to return other HTTP status codes:</p> + + <dl> + <dt>permanent</dt> + + <dd>Returns a permanent redirect status (301) indicating that + the resource has moved permanently.</dd> + + <dt>temp</dt> + + <dd>Returns a temporary redirect status (302). This is the + default.</dd> + + <dt>seeother</dt> + + <dd>Returns a "See Other" status (303) indicating that the + resource has been replaced.</dd> + + <dt>gone</dt> + + <dd>Returns a "Gone" status (410) indicating that the + resource has been permanently removed. When this status is + used the <em>url</em> argument should be omitted.</dd> + </dl> + + <p>Other status codes can be returned by giving the numeric + status code as the value of <em>status</em>. If the status is + between 300 and 399, the <em>url</em> argument must be present, + otherwise it must be omitted. Note that the status must be + known to the Apache code (see the function + <code>send_error_response</code> in http_protocol.c).</p> + + <p>Example:</p> + + <pre> + Redirect permanent /one http://example.com/two<br /> + Redirect 303 /two http://example.com/other + </pre> + <hr /> + + <h2><a id="redirectmatch" + name="redirectmatch">RedirectMatch</a></h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> RedirectMatch + [<em>status</em>] <em>regex URL</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host, directory, .htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>Override:</strong></a> FileInfo<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_alias<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> Available in + Apache 1.3 and later</p> + + <p>This directive is equivalent to <a + href="#redirect">Redirect</a>, but makes use of standard + regular expressions, instead of simple prefix matching. The + supplied regular expression is matched against the URL-path, + and if it matches, the server will substitute any parenthesized + matches into the given string and use it as a filename. For + example, to redirect all GIF files to like-named JPEG files on + another server, one might use:</p> +<pre> + RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg +</pre> + <hr /> + + <h2><a id="redirecttemp" name="redirecttemp">RedirectTemp + directive</a></h2> + + <p> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> RedirectTemp + <em>URL-path URL</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host, directory, .htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>Override:</strong></a> FileInfo<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_alias<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> This directive + is only available in Apache 1.2 and later</p> + + <p>This directive makes the client know that the Redirect is + only temporary (status 302). Exactly equivalent to + <code>Redirect temp</code>.</p> + <hr /> + + <h2><a id="redirectperm" name="redirectperm">RedirectPermanent + directive</a></h2> + + <p> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> RedirectPermanent + <em>URL-path URL</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host, directory, .htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>Override:</strong></a> FileInfo<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_alias<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> This directive + is only available in Apache 1.2 and later</p> + + <p>This directive makes the client know that the Redirect is + permanent (status 301). Exactly equivalent to <code>Redirect + permanent</code>.</p> + <hr /> + + <h2><a id="scriptalias" name="scriptalias">ScriptAlias + directive</a></h2> + + <p> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> ScriptAlias + <em>URL-path file-path</em>|<em>directory-path</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_alias</p> + + <p>The ScriptAlias directive has the same behavior as the <a + href="#alias">Alias</a> directive, except that in addition it + marks the target directory as containing CGI scripts that will be + processed by <a href="mod_cgi.html">mod_cgi</a>'s cgi-script + handler. URLs with a (%-decoded) path beginning with + <em>URL-path</em> will be mapped to scripts beginning with the + second argument which is a full pathname in the local + filesystem.</p> + + <p>Example:</p> + + <blockquote> + <code>ScriptAlias /cgi-bin/ /web/cgi-bin/</code> + </blockquote> + + <p>A request for http://myserver/cgi-bin/foo would cause the + server to run the script /web/cgi-bin/foo.</p> + <hr /> + + <h2><a id="scriptaliasmatch" + name="scriptaliasmatch">ScriptAliasMatch</a></h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> ScriptAliasMatch + <em>regex file-path</em>|<em>directory-path</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_alias<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> Available in + Apache 1.3 and later</p> + + <p>This directive is equivalent to <a + href="#scriptalias">ScriptAlias</a>, but makes use of standard + regular expressions, instead of simple prefix matching. The + supplied regular expression is matched against the URL-path, + and if it matches, the server will substitute any parenthesized + matches into the given string and use it as a filename. For + example, to activate the standard <code>/cgi-bin</code>, one + might use:</p> +<pre> + ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1 +</pre> + <hr /> + + <h3 align="CENTER">Apache HTTP Server Version 1.3</h3> + <a href="./"><img src="../images/index.gif" alt="Index" /></a> + <a href="../"><img src="../images/home.gif" alt="Home" /></a> + + </body> +</html> + + + diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_auth.html.html b/usr.sbin/httpd/htdocs/manual/mod/mod_auth.html.html new file mode 100644 index 00000000000..2789d5bb5e0 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/mod_auth.html.html @@ -0,0 +1,326 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" content="HTML Tidy, see www.w3.org" /> + + <title>Apache module mod_auth</title> + </head> + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + + <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" + vlink="#000080" alink="#FF0000"> + <div align="CENTER"> + <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> + + <h3>Apache HTTP Server Version 1.3</h3> + </div> + + + <h1 align="CENTER">Module mod_auth</h1> + + <p>This module provides for user authentication using text + files.</p> + + <p><a href="module-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="module-dict.html#SourceFile" + rel="Help"><strong>Source File:</strong></a> mod_auth.c<br /> + <a href="module-dict.html#ModuleIdentifier" + rel="Help"><strong>Module Identifier:</strong></a> + auth_module</p> + + <h2>Summary</h2> + + <p>This module allows the use of HTTP Basic Authentication to + restrict access by looking up users in plain text password and + group files. Similar functionality and greater scalability is + provided by <a href="mod_auth_dbm.html">mod_auth_dbm</a> and <a + href="mod_auth_db.html">mod_auth_db</a>. HTTP Digest + Authentication is provided by <a + href="mod_auth_digest.html">mod_auth_digest</a>.</p> + + <p><b>Note that these credential-based security mechanisms are + only as strong as your Web server's security. As a rule, they + are <i>not</i> as strong as the operating system's own security + system.</b></p> + + <h2>Directives</h2> + + <ul> + <li><a href="#authgroupfile">AuthGroupFile</a></li> + + <li><a href="#authuserfile">AuthUserFile</a></li> + + <li><a href="#authauthoritative">AuthAuthoritative</a></li> + </ul> + + <p>See also: <a href="core.html#require">require</a>, <a + href="core.html#satisfy">satisfy</a>, and <a + href="#require">mod_auth require keywords</a>.</p> + <hr /> + + <h2><a id="require" name="require"><code>mod_auth</code> + Require Keywords</a></h2> + + <p>The <code>mod_auth</code> module supports the following + keywords that can be given to the <a + href="core.html#require">Require</a> directive:</p> + + <dl compact="compact"> + <dt><code>user <i>username</i> [...]</code></dt> + + <dd>The supplied username and password must be in the <a + href="#authuserfile">AuthUserFile</a> database, and the + username must also be one of those listed on the Require + directive.</dd> + + <dt><code>group <i>groupname</i> [...]</code></dt> + + <dd>The supplied username and password must be in the <a + href="#authuserfile">AuthUserFile</a> database, and the + username must also be a member of one of the named groups in + the <a href="#authgroupfile">AuthGroupFile</a> database.</dd> + + <dt><code>valid-user</code></dt> + + <dd>The supplied username and password must be in the <a + href="#authuserfile">AuthUserFile</a> database. Any valid + username from that file will be allowed.</dd> + + <dt><code>file-owner</code></dt> + + <dd>[Available after Apache 1.3.20] The supplied username and + password must be in the <a + href="#authuserfile">AuthUserFile</a> database, and the + username must also match the system's name for the owner of + the file being requested. That is, if the operating system + say the requested file is owned by <code>jones</code>, then + the username used to access it through the Web must be + <code>jones</code> as well.</dd> + + <dt><code>file-group</code></dt> + + <dd>[Available after Apache 1.3.20] The supplied username and + password must be in the <a + href="#authuserfile">AuthUserFile</a> database, the name of + the group that owns the file must be in the <a + href="#authgroupfile">AuthGroupFile</a> database, and the + username must be a member of that group. For example, if the + operating system says the requested file is owned by group + <code>accounts</code>, the group <code>accounts</code> must + be in the AuthGroupFile database and the username used in the + request must be a member of that group.</dd> + </dl> + <hr /> + + <h2><a id="example" name="example">Example of <code>Require + file-owner</code></a></h2> + + <p>Consider a multi-user system running the Apache Web server, + with each user having his or her own files in + <code>~/public_html/private</code>. Assuming that there is a + single AuthUserFile database that lists all of their usernames, + and that their Web usernames match the ones that actually own + the files on the server, then the following stanza would allow + only the user himself access to his own files. User + <code>jones</code> would not be allowed to access files in + <code>/home/smith/public_html/private</code> unless they were + owned by <code>jones</code> instead of <code>smith</code>.</p> +<pre> + <Directory /home/*/public_html/private> + AuthType Basic + AuthName MyPrivateFile + AuthUserFile /usr/local/apache/etc/.htpasswd-allusers + Satisfy All + Require file-owner + </Directory> +</pre> + <hr /> + + <h2><a id="authgroupfile" + name="authgroupfile">AuthGroupFile</a> directive</h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> AuthGroupFile + <em>file-path</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> directory, + .htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>Override:</strong></a> AuthConfig<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_auth + + <p>The AuthGroupFile directive sets the name of a textual file + containing the list of user groups for user authentication. + <em>File-path</em> is the path to the group file. If it is not + absolute (<em>i.e.</em>, if it doesn't begin with a slash), it + is treated as relative to the ServerRoot.</p> + + <p>Each line of the group file contains a groupname followed by + a colon, followed by the member usernames separated by spaces. + Example:</p> + + <blockquote> + <code>mygroup: bob joe anne</code> + </blockquote> + Note that searching large text files is <em>very</em> + inefficient; <a + href="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a> + should be used instead. + + <p>Security: make sure that the AuthGroupFile is stored outside + the document tree of the web-server; do <em>not</em> put it in + the directory that it protects. Otherwise, clients will be able + to download the AuthGroupFile.</p> + + <p>See also <a href="core.html#authname">AuthName</a>, <a + href="core.html#authtype">AuthType</a> and <a + href="#authuserfile">AuthUserFile</a>.</p> + <hr /> + + <h2><a id="authuserfile" name="authuserfile">AuthUserFile</a> + directive</h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> AuthUserFile + <em>file-path</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> directory, + .htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>Override:</strong></a> AuthConfig<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_auth + + <p>The AuthUserFile directive sets the name of a textual file + containing the list of users and passwords for user + authentication. <em>File-path</em> is the path to the user + file. If it is not absolute (<em>i.e.</em>, if it doesn't begin + with a slash), it is treated as relative to the ServerRoot.</p> + + <p>Each line of the user file contains a username followed by a + colon, followed by the <code>crypt()</code> encrypted password. + The behavior of multiple occurrences of the same user is + undefined.</p> + + <p>The utility <a href="../programs/htpasswd.html">htpasswd</a> + which is installed as part of the binary distribution, or which + can be found in <code>src/support</code>, is used to maintain + this password file. See the <code>man</code> page for more + details. In short</p> + + <blockquote> + <code>htpasswd -c Filename username</code><br /> + Create a password file 'Filename' with 'username' as the + initial ID. It will prompt for the password. <code>htpasswd + Filename username2</code><br /> + Adds or modifies in password file 'Filename' the 'username'. + </blockquote> + + <p>Note that searching large text files is <em>very</em> + inefficient; <a + href="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</a> + should be used instead.</p> + + <dl> + <dt><b>Security:</b></dt> + + <dd>Make sure that the AuthUserFile is stored outside the + document tree of the web-server; do <em>not</em> put it in + the directory that it protects. Otherwise, clients may be + able to download the AuthUserFile.</dd> + + <dd>Also be aware that null usernames are permitted, and null + passwords as well (through Apache 1.3.20). If your + AuthUserFile includes a line containing only a colon (':'), a + '<code>Require valid-user</code>' will allow access if both + the username and password in the credentials are + omitted.</dd> + </dl> + See also <a href="core.html#authname">AuthName</a>, <a + href="core.html#authtype">AuthType</a> and <a + href="#authgroupfile">AuthGroupFile</a>. + <hr /> + + <h2><a id="authauthoritative" + name="authauthoritative">AuthAuthoritative</a> directive</h2> + <a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> AuthAuthoritative + on|off<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>Default:</strong></a> + <code>AuthAuthoritative on</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> directory, + .htaccess<br /> + <a href="directive-dict.html#Override" + rel="Help"><strong>Override:</strong></a> AuthConfig<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_auth + + <p>Setting the AuthAuthoritative directive explicitly to + <strong>'off'</strong> allows for both authentication and + authorization to be passed on to lower level modules (as + defined in the <code>Configuration</code> and + <code>modules.c</code> files) if there is <strong>no + userID</strong> or <strong>rule</strong> matching the supplied + userID. If there is a userID and/or rule specified; the usual + password and access checks will be applied and a failure will + give an Authorization Required reply.</p> + + <p>So if a userID appears in the database of more than one + module; or if a valid <code>Require</code> directive applies to + more than one module; then the first module will verify the + credentials; and no access is passed on; regardless of the + AuthAuthoritative setting.</p> + + <p>A common use for this is in conjunction with one of the + database modules; such as <a + href="mod_auth_db.html"><code>mod_auth_db.c</code></a>, <a + href="mod_auth_dbm.html"><code>mod_auth_dbm.c</code></a>, + <code>mod_auth_msql.c</code>, and <a + href="mod_auth_anon.html"><code>mod_auth_anon.c</code></a>. + These modules supply the bulk of the user credential checking; + but a few (administrator) related accesses fall through to a + lower level with a well protected AuthUserFile.</p> + + <p><a href="directive-dict.html#Default" + rel="Help"><strong>Default:</strong></a> By default; control is + not passed on; and an unknown userID or rule will result in an + Authorization Required reply. Not setting it thus keeps the + system secure; and forces an NCSA compliant behavior.</p> + + <p>Security: Do consider the implications of allowing a user to + allow fall-through in his .htaccess file; and verify that this + is really what you want; Generally it is easier to just secure + a single .htpasswd file, than it is to secure a database such + as mSQL. Make sure that the AuthUserFile is stored outside the + document tree of the web-server; do <em>not</em> put it in the + directory that it protects. Otherwise, clients will be able to + download the AuthUserFile.</p> + + <p>See also <a href="core.html#authname">AuthName</a>, <a + href="core.html#authtype">AuthType</a> and <a + href="#authgroupfile">AuthGroupFile</a>.</p> + + <p> <hr /> + + <h3 align="CENTER">Apache HTTP Server Version 1.3</h3> + <a href="./"><img src="../images/index.gif" alt="Index" /></a> + <a href="../"><img src="../images/home.gif" alt="Home" /></a> + + </p> + </body> +</html> + + + diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.en b/usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.en new file mode 100644 index 00000000000..6d056156de4 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.en @@ -0,0 +1,417 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" content="HTML Tidy, see www.w3.org" /> + + <title>Apache module mod_log_config</title> + </head> + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + + <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" + vlink="#000080" alink="#FF0000"> + <div align="CENTER"> + <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> + + <h3>Apache HTTP Server Version 1.3</h3> + </div> + + + <h1 align="CENTER">Module mod_log_config</h1> + + <p>This module provides for logging of the requests made to the + server, using the Common Log Format or a user-specified + format.</p> + + <p><a href="module-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="module-dict.html#SourceFile" + rel="Help"><strong>Source File:</strong></a> + mod_log_config.c<br /> + <a href="module-dict.html#ModuleIdentifier" + rel="Help"><strong>Module Identifier:</strong></a> + config_log_module<br /> + <a href="module-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> Was an extension + module prior to Apache 1.2.</p> + + <h2>Summary</h2> + + <p>This module provides for flexible logging of client + requests. Logs are written in a customizable format, and may be + written directly to a file, or to an external program. + Conditional logging is provided so that individual requests may + be included or excluded from the logs based on characteristics + of the request.</p> + + <p>Three directives are provided by this module: + <code>TransferLog</code> to create a log file, + <code>LogFormat</code> to set a custom format, and + <code>CustomLog</code> to define a log file and format in one + step. The <code>TransferLog</code> and <code>CustomLog</code> + directives can be used multiple times in each server to cause + each request to be logged to multiple files.</p> + + <p>See also: <a href="../logs.html">Apache Log Files</a>.</p> + + <h2>Directives</h2> + + <ul> + <li><a href="#cookielog">CookieLog</a></li> + + <li><a href="#customlog">CustomLog</a></li> + + <li><a href="#logformat">LogFormat</a></li> + + <li><a href="#transferlog">TransferLog</a></li> + </ul> + + <h2><a id="formats" name="formats">Custom Log Formats</a></h2> + + <p>The format argument to the <code>LogFormat</code> and + <code>CustomLog</code> directives is a string. This string is + used to log each request to the log file. It can contain literal + characters copied into the log files and the C-style control + characters "\n" and "\t" to represent new-lines and tabs. + Literal quotes and back-slashes should be escaped with + back-slashes.</p> + + <p>The characteristics of the request itself are logged by + placing "<code>%</code>" directives in the format string, which are + replaced in the log entry by the values as follows:</p> +<pre> +%...a: Remote IP-address +%...A: Local IP-address +%...B: Bytes sent, excluding HTTP headers. +%...b: Bytes sent, excluding HTTP headers. In CLF format + i.e. a '-' rather than a 0 when no bytes are sent. +%...c: Connection status when response was completed. + 'X' = connection aborted before the response completed. + '+' = connection may be kept alive after the response is sent. + '-' = connection will be closed after the response is sent. +%...{FOOBAR}e: The contents of the environment variable FOOBAR +%...f: Filename +%...h: Remote host +%...H The request protocol +%...{Foobar}i: The contents of Foobar: header line(s) in the request + sent to the server. +%...l: Remote logname (from identd, if supplied) +%...m The request method +%...{Foobar}n: The contents of note "Foobar" from another module. +%...{Foobar}o: The contents of Foobar: header line(s) in the reply. +%...p: The canonical Port of the server serving the request +%...P: The process ID of the child that serviced the request. +%...q The query string (prepended with a ? if a query string exists, + otherwise an empty string) +%...r: First line of request +%...s: Status. For requests that got internally redirected, this is + the status of the *original* request --- %...>s for the last. +%...t: Time, in common log format time format (standard english format) +%...{format}t: The time, in the form given by format, which should + be in strftime(3) format. (potentially localized) +%...T: The time taken to serve the request, in seconds. +%...u: Remote user (from auth; may be bogus if return status (%s) is 401) +%...U: The URL path requested, not including any query string. +%...v: The canonical ServerName of the server serving the request. +%...V: The server name according to the UseCanonicalName setting. +</pre> + + <p>The "..." can be nothing at all (<em>e.g.</em>, <code>"%h %u + %r %s %b"</code>), or it can indicate conditions for inclusion + of the item (which will cause it to be replaced with "-" if the + condition is not met). The forms of condition are a list of + HTTP status codes, which may or may not be preceded by "!". + Thus, "%400,501{User-agent}i" logs User-agent: on 400 errors + and 501 errors (Bad Request, Not Implemented) only; + "%!200,304,302{Referer}i" logs Referer: on all requests which + did <strong>not</strong> return some sort of normal status.</p> + + <p>Note that in versions previous to 1.3.25 no escaping was performed + on the strings from <code>%...r</code>, <code>%...i</code> and + <code>%...o</code>. This was mainly to comply with the requirements of + the Common Log Format. This implied that clients could insert control + characters into the log, so you had to be quite careful when dealing + with raw log files.</p> + + <p>For security reasons starting with 1.3.25 non-printable and + other special characters are escaped mostly by using + <code>\x<var>hh</var></code> sequences, where <var>hh</var> stands for + the hexadecimal representation of the raw byte. Exceptions from this + rule are <code>"</code> and <code>\</code> which are escaped by prepending + a backslash, and all whitespace characters that are written in their + C-style notation (<code>\n</code>, <code>\t</code>, etc).</p> + + <p>Some commonly used log format strings are:</p> + + <dl> + <dt>Common Log Format (CLF)</dt> + + <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>Common Log Format with Virtual Host</dt> + + <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>NCSA extended/combined log format</dt> + + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""</code></dd> + + <dt>Referer log format</dt> + + <dd><code>"%{Referer}i -> %U"</code></dd> + + <dt>Agent (Browser) log format</dt> + + <dd><code>"%{User-agent}i"</code></dd> + </dl> + + <p>Note that the canonical <a + href="core.html#servername">ServerName</a> and <a + href="core.html#port">Port</a> of the server serving the + request are used for <code>%v</code> and <code>%p</code> + respectively. This happens regardless of the <a + href="core.html#usecanonicalname">UseCanonicalName</a> setting + because otherwise log analysis programs would have to duplicate + the entire vhost matching algorithm in order to decide what + host really served the request.</p> + + <h2>Security Considerations</h2> + + <p>See the <a + href="../misc/security_tips.html#serverroot">security tips</a> + document for details on why your security could be compromised + if the directory where logfiles are stored is writable by + anyone other than the user that starts the server.</p> + + <h2>Compatibility notes</h2> + + <ul> + <li>This module is based on mod_log_config distributed with + previous Apache releases, now updated to handle multiple + logs. There is now no need to rebuild Apache to change + configuration log formats.</li> + + <li>The module also implements the <code>CookieLog</code> + directive, used to log user-tracking information created by + <a href="mod_usertrack.html">mod_usertrack</a>. The use of + <code>CookieLog</code> is deprecated, and a + <code>CustomLog</code> should be defined to log user-tracking + information instead.</li> + + <li>As of Apache 1.3.5, this module allows conditional + logging based upon the setting of <a + href="../env.html">environment variables</a>. That is, you + can control whether a request should be logged or not based + upon whether an arbitrary environment variable is defined or + not. This is configurable on a per-logfile + basis.</li> + + <li>Beginning with Apache 1.3.5, the mod_log_config module + has also subsumed the <code>RefererIgnore</code> + functionality from <a + href="mod_log_referer.html">mod_log_referer</a>. The effect + of <code>RefererIgnore</code> can be achieved by combinations + of <a href="mod_setenvif.html"><code>SetEnvIf</code></a> + directives and conditional <code>CustomLog</code> + definitions.</li> + </ul> + <hr /> + + <h2><a id="cookielog" name="cookielog">CookieLog</a> + directive</h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> CookieLog + <em>filename</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_cookies<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> Only available + in Apache 1.2 and above</p> + + <p>The CookieLog directive sets the filename for logging of + cookies. The filename is relative to the <a + href="core.html#serverroot">ServerRoot</a>. This directive is + included only for compatibility with <a + href="mod_cookies.html">mod_cookies</a>, and is deprecated.</p> + <hr /> + + <h2><a id="customlog" name="customlog">CustomLog</a> <a + id="customlog-conditional" + name="customlog-conditional">directive</a></h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> CustomLog + <em>file</em>|<em>pipe</em> <em>format</em>|<em>nickname</em> + [env=[!]<em>environment-variable</em>]<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> Nickname only + available in Apache 1.3 or later. Conditional logging available + in 1.3.5 or later.<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_log_config</p> + + <p>The <code>CustomLog</code> directive is used to log requests + to the server. A log format is specified, and the logging can + optionally be made conditional on request characteristics using + environment variables.</p> + + <p>The first argument, which specifies the location to which + the logs will be written, can take one of the following two + types of values:</p> + + <dl> + <dt><em>file</em></dt> + + <dd>A filename, relative to the <a + href="core.html#serverroot">ServerRoot</a>.</dd> + + <dt><em>pipe</em></dt> + + <dd>The pipe character "<code>|</code>", followed by the path + to a program to receive the log information on its standard + input. <strong>Security:</strong> if a program is used, then + it will be run as the user who started httpd. This will be + root if the server was started by root; be sure that the + program is secure.</dd> + </dl> + + <p>The second argument specifies what will be written to the + log file. It can specify either a <em>nickname</em> defined by + a previous <a href="#logformat">LogFormat</a> directive, or it + can be an explicit <em>format</em> string as described in the + <a href="#formats">log formats</a> section.</p> + + <p>For example, the following two sets of directives have + exactly the same effect:</p> +<pre> + # CustomLog with format nickname + LogFormat "%h %l %u %t \"%r\" %>s %b" common + CustomLog logs/access_log common + + # CustomLog with explicit format string + CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b" +</pre> + + <p>The third argument is optional and controls + whether or not to log a particular request based on the + presence or absence of a particular variable in the server + environment. If the specified <a href="../env.html">environment + variable</a> is set for the request (or is not set, in the case + of a '<code>env=!<em>name</em></code>' clause), then the + request will be logged.</p> + + <p>Environment variables can be set on a per-request + basis using the <a href="mod_setenvif.html">mod_setenvif</a> + and/or <a href="mod_rewrite.html">mod_rewrite</a> modules. For + example, if you want to record requests for all GIF + images on your server in a separate logfile but not in your main + log, you can use:</p> +<pre> + SetEnvIf Request_URI \.gif$ gif-image + CustomLog gif-requests.log common env=gif-image + CustomLog nongif-requests.log common env=!gif-image +</pre> + <hr /> + + <h2><a id="logformat" name="logformat">LogFormat</a> + directive</h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> LogFormat + <em>format</em>|<em>nickname</em> [<em>nickname</em>]<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>Default:</strong></a> <code>LogFormat "%h %l + %u %t \"%r\" %>s %b"</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> Nickname only + available in Apache 1.3 or later<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_log_config</p> + + <p>This directive specifies the format of the access log + file.</p> + + <p>The <code>LogFormat</code> directive can take one of two + forms. In the first form, where only one argument is specified, + this directive sets the log format which will be used by logs + specified in subsequent <a href="#transferlog">TransferLog</a> + directives. The single argument can specify an explicit + <em>format</em> as discussed in the <a href="#formats">custom log + formats</a> section above. Alternatively, it can use a + <em>nickname</em> to refer to a log format defined in a + previous <code>LogFormat</code> directive as described + below.</p> + + <p>The second form of the <code>LogFormat</code> directive + associates an explicit <em>format</em> with a + <em>nickname</em>. This <em>nickname</em> can then be used in + subsequent <code>LogFormat</code> or <a + href="#customlog">CustomLog</a> directives rather than + repeating the entire format string. A <samp>LogFormat</samp> + directive which defines a nickname <strong>does nothing + else</strong> -- that is, it <em>only</em> defines the + nickname, it doesn't actually apply the format and make it the + default. Therefore, it will not affect subsequent <a + href="#transferlog">TransferLog</a> directives.</p> + + <p>For example:</p> + + <code>LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common</code> + + <hr /> + + <h2><a id="transferlog" name="transferlog">TransferLog</a> + directive</h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> TransferLog + <em>file</em>|<em>pipe</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>Default:</strong></a> none<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_log_config</p> + + <p>This directive has exactly the same arguments and effect as + the <a href="#customlog">CustomLog</a> directive, with the + exception that it does not allow the log format to be specified + explicitly or for conditional logging of requests. Instead, the + log format is determined by the most recently specified <a + href="#logformat">LogFormat</a> directive that does not define + a nickname. Common Log Format is used if no other format has + been specified.</p> + + <p>Example:</p> +<pre> + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" + TransferLog logs/access_log +</pre> + <hr /> + + <h3 align="CENTER">Apache HTTP Server Version 1.3</h3> + <a href="./"><img src="../images/index.gif" alt="Index" /></a> + <a href="../"><img src="../images/home.gif" alt="Home" /></a> + + </body> +</html> + diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.html b/usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.html new file mode 100644 index 00000000000..b3b292f3344 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.html @@ -0,0 +1,421 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" content="HTML Tidy, see www.w3.org" /> + + <title>Apache module mod_log_config</title> + </head> + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + + <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" + vlink="#000080" alink="#FF0000"> + <div align="CENTER"> + <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> + + <h3>Apache HTTP Server Version 1.3</h3> + </div> + + + <h1 align="CENTER">Module mod_log_config</h1> + + <p>This module provides for logging of the requests made to the + server, using the Common Log Format or a user-specified + format.</p> + + <p><a href="module-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="module-dict.html#SourceFile" + rel="Help"><strong>Source File:</strong></a> + mod_log_config.c<br /> + <a href="module-dict.html#ModuleIdentifier" + rel="Help"><strong>Module Identifier:</strong></a> + config_log_module<br /> + <a href="module-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> Was an extension + module prior to Apache 1.2.</p> + + <h2>Summary</h2> + + <p>This module provides for flexible logging of client + requests. Logs are written in a customizable format, and may be + written directly to a file, or to an external program. + Conditional logging is provided so that individual requests may + be included or excluded from the logs based on characteristics + of the request.</p> + + <p>Three directives are provided by this module: + <code>TransferLog</code> to create a log file, + <code>LogFormat</code> to set a custom format, and + <code>CustomLog</code> to define a log file and format in one + step. The <code>TransferLog</code> and <code>CustomLog</code> + directives can be used multiple times in each server to cause + each request to be logged to multiple files.</p> + + <p>See also: <a href="../logs.html">Apache Log Files</a>.</p> + + <h2>Directives</h2> + + <ul> + <li><a href="#cookielog">CookieLog</a></li> + + <li><a href="#customlog">CustomLog</a></li> + + <li><a href="#logformat">LogFormat</a></li> + + <li><a href="#transferlog">TransferLog</a></li> + </ul> + + <h2><a id="formats" name="formats">Custom Log Formats</a></h2> + + <p>The format argument to the <code>LogFormat</code> and + <code>CustomLog</code> directives is a string. This string is + used to log each request to the log file. It can contain literal + characters copied into the log files and the C-style control + characters "\n" and "\t" to represent new-lines and tabs. + Literal quotes and back-slashes should be escaped with + back-slashes.</p> + + <p>The characteristics of the request itself are logged by + placing "<code>%</code>" directives in the format string, which are + replaced in the log entry by the values as follows:</p> +<pre> +%...a: Remote IP-address +%...A: Local IP-address +%...B: Bytes sent, excluding HTTP headers. +%...b: Bytes sent, excluding HTTP headers. In CLF format + i.e. a '-' rather than a 0 when no bytes are sent. +%...c: Connection status when response was completed. + 'X' = connection aborted before the response completed. + '+' = connection may be kept alive after the response is sent. + '-' = connection will be closed after the response is sent. +%...{FOOBAR}e: The contents of the environment variable FOOBAR +%...f: Filename +%...h: Remote host +%...H The request protocol +%...{Foobar}i: The contents of Foobar: header line(s) in the request + sent to the server. +%...l: Remote logname (from identd, if supplied) +%...m The request method +%...{Foobar}n: The contents of note "Foobar" from another module. +%...{Foobar}o: The contents of Foobar: header line(s) in the reply. +%...p: The canonical Port of the server serving the request +%...P: The process ID of the child that serviced the request. +%...q The query string (prepended with a ? if a query string exists, + otherwise an empty string) +%...r: First line of request +%...s: Status. For requests that got internally redirected, this is + the status of the *original* request --- %...>s for the last. +%...t: Time, in common log format time format (standard english format) +%...{format}t: The time, in the form given by format, which should + be in strftime(3) format. (potentially localized) +%...T: The time taken to serve the request, in seconds. +%...u: Remote user (from auth; may be bogus if return status (%s) is 401) +%...U: The URL path requested, not including any query string. +%...v: The canonical ServerName of the server serving the request. +%...V: The server name according to the UseCanonicalName setting. +</pre> + + <p>The "..." can be nothing at all (<em>e.g.</em>, <code>"%h %u + %r %s %b"</code>), or it can indicate conditions for inclusion + of the item (which will cause it to be replaced with "-" if the + condition is not met). The forms of condition are a list of + HTTP status codes, which may or may not be preceded by "!". + Thus, "%400,501{User-agent}i" logs User-agent: on 400 errors + and 501 errors (Bad Request, Not Implemented) only; + "%!200,304,302{Referer}i" logs Referer: on all requests which + did <strong>not</strong> return some sort of normal status.</p> + + <p>Note that in versions previous to 1.3.25 no escaping was performed + on the strings from <code>%...r</code>, <code>%...i</code> and + <code>%...o</code>. This was mainly to comply with the requirements of + the Common Log Format. This implied that clients could insert control + characters into the log, so you had to be quite careful when dealing + with raw log files.</p> + + <p>For security reasons starting with 1.3.25 non-printable and + other special characters are escaped mostly by using + <code>\x<var>hh</var></code> sequences, where <var>hh</var> stands for + the hexadecimal representation of the raw byte. Exceptions from this + rule are <code>"</code> and <code>\</code> which are escaped by prepending + a backslash, and all whitespace characters that are written in their + C-style notation (<code>\n</code>, <code>\t</code>, etc).</p> + + <p>Some commonly used log format strings are:</p> + + <dl> + <dt>Common Log Format (CLF)</dt> + + <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>Common Log Format with Virtual Host</dt> + + <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>NCSA extended/combined log format</dt> + + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""</code></dd> + + <dt>Referer log format</dt> + + <dd><code>"%{Referer}i -> %U"</code></dd> + + <dt>Agent (Browser) log format</dt> + + <dd><code>"%{User-agent}i"</code></dd> + </dl> + + <p>Note that the canonical <a + href="core.html#servername">ServerName</a> and <a + href="core.html#port">Port</a> of the server serving the + request are used for <code>%v</code> and <code>%p</code> + respectively. This happens regardless of the <a + href="core.html#usecanonicalname">UseCanonicalName</a> setting + because otherwise log analysis programs would have to duplicate + the entire vhost matching algorithm in order to decide what + host really served the request.</p> + + <h2>Security Considerations</h2> + + <p>See the <a + href="../misc/security_tips.html#serverroot">security tips</a> + document for details on why your security could be compromised + if the directory where logfiles are stored is writable by + anyone other than the user that starts the server.</p> + + <h2>Compatibility notes</h2> + + <ul> + <li>This module is based on mod_log_config distributed with + previous Apache releases, now updated to handle multiple + logs. There is now no need to rebuild Apache to change + configuration log formats.</li> + + <li>The module also implements the <code>CookieLog</code> + directive, used to log user-tracking information created by + <a href="mod_usertrack.html">mod_usertrack</a>. The use of + <code>CookieLog</code> is deprecated, and a + <code>CustomLog</code> should be defined to log user-tracking + information instead.</li> + + <li>As of Apache 1.3.5, this module allows conditional + logging based upon the setting of <a + href="../env.html">environment variables</a>. That is, you + can control whether a request should be logged or not based + upon whether an arbitrary environment variable is defined or + not. This is configurable on a per-logfile + basis.</li> + + <li>Beginning with Apache 1.3.5, the mod_log_config module + has also subsumed the <code>RefererIgnore</code> + functionality from <a + href="mod_log_referer.html">mod_log_referer</a>. The effect + of <code>RefererIgnore</code> can be achieved by combinations + of <a href="mod_setenvif.html"><code>SetEnvIf</code></a> + directives and conditional <code>CustomLog</code> + definitions.</li> + </ul> + <hr /> + + <h2><a id="cookielog" name="cookielog">CookieLog</a> + directive</h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> CookieLog + <em>filename</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_cookies<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> Only available + in Apache 1.2 and above</p> + + <p>The CookieLog directive sets the filename for logging of + cookies. The filename is relative to the <a + href="core.html#serverroot">ServerRoot</a>. This directive is + included only for compatibility with <a + href="mod_cookies.html">mod_cookies</a>, and is deprecated.</p> + <hr /> + + <h2><a id="customlog" name="customlog">CustomLog</a> <a + id="customlog-conditional" + name="customlog-conditional">directive</a></h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> CustomLog + <em>file</em>|<em>pipe</em> <em>format</em>|<em>nickname</em> + [env=[!]<em>environment-variable</em>]<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> Nickname only + available in Apache 1.3 or later. Conditional logging available + in 1.3.5 or later.<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_log_config</p> + + <p>The <code>CustomLog</code> directive is used to log requests + to the server. A log format is specified, and the logging can + optionally be made conditional on request characteristics using + environment variables.</p> + + <p>The first argument, which specifies the location to which + the logs will be written, can take one of the following two + types of values:</p> + + <dl> + <dt><em>file</em></dt> + + <dd>A filename, relative to the <a + href="core.html#serverroot">ServerRoot</a>.</dd> + + <dt><em>pipe</em></dt> + + <dd>The pipe character "<code>|</code>", followed by the path + to a program to receive the log information on its standard + input. <strong>Security:</strong> if a program is used, then + it will be run as the user who started httpd. This will be + root if the server was started by root; be sure that the + program is secure.</dd> + </dl> + + <p>The second argument specifies what will be written to the + log file. It can specify either a <em>nickname</em> defined by + a previous <a href="#logformat">LogFormat</a> directive, or it + can be an explicit <em>format</em> string as described in the + <a href="#formats">log formats</a> section.</p> + + <p>For example, the following two sets of directives have + exactly the same effect:</p> +<pre> + # CustomLog with format nickname + LogFormat "%h %l %u %t \"%r\" %>s %b" common + CustomLog logs/access_log common + + # CustomLog with explicit format string + CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b" +</pre> + + <p>The third argument is optional and controls + whether or not to log a particular request based on the + presence or absence of a particular variable in the server + environment. If the specified <a href="../env.html">environment + variable</a> is set for the request (or is not set, in the case + of a '<code>env=!<em>name</em></code>' clause), then the + request will be logged.</p> + + <p>Environment variables can be set on a per-request + basis using the <a href="mod_setenvif.html">mod_setenvif</a> + and/or <a href="mod_rewrite.html">mod_rewrite</a> modules. For + example, if you want to record requests for all GIF + images on your server in a separate logfile but not in your main + log, you can use:</p> +<pre> + SetEnvIf Request_URI \.gif$ gif-image + CustomLog gif-requests.log common env=gif-image + CustomLog nongif-requests.log common env=!gif-image +</pre> + <hr /> + + <h2><a id="logformat" name="logformat">LogFormat</a> + directive</h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> LogFormat + <em>format</em>|<em>nickname</em> [<em>nickname</em>]<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>Default:</strong></a> <code>LogFormat "%h %l + %u %t \"%r\" %>s %b"</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>Compatibility:</strong></a> Nickname only + available in Apache 1.3 or later<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_log_config</p> + + <p>This directive specifies the format of the access log + file.</p> + + <p>The <code>LogFormat</code> directive can take one of two + forms. In the first form, where only one argument is specified, + this directive sets the log format which will be used by logs + specified in subsequent <a href="#transferlog">TransferLog</a> + directives. The single argument can specify an explicit + <em>format</em> as discussed in the <a href="#formats">custom log + formats</a> section above. Alternatively, it can use a + <em>nickname</em> to refer to a log format defined in a + previous <code>LogFormat</code> directive as described + below.</p> + + <p>The second form of the <code>LogFormat</code> directive + associates an explicit <em>format</em> with a + <em>nickname</em>. This <em>nickname</em> can then be used in + subsequent <code>LogFormat</code> or <a + href="#customlog">CustomLog</a> directives rather than + repeating the entire format string. A <samp>LogFormat</samp> + directive which defines a nickname <strong>does nothing + else</strong> -- that is, it <em>only</em> defines the + nickname, it doesn't actually apply the format and make it the + default. Therefore, it will not affect subsequent <a + href="#transferlog">TransferLog</a> directives.</p> + + <p>For example:</p> + + <code>LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common</code> + + <hr /> + + <h2><a id="transferlog" name="transferlog">TransferLog</a> + directive</h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>Syntax:</strong></a> TransferLog + <em>file</em>|<em>pipe</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>Default:</strong></a> none<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>Context:</strong></a> server config, virtual + host<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>Status:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>Module:</strong></a> mod_log_config</p> + + <p>This directive has exactly the same arguments and effect as + the <a href="#customlog">CustomLog</a> directive, with the + exception that it does not allow the log format to be specified + explicitly or for conditional logging of requests. Instead, the + log format is determined by the most recently specified <a + href="#logformat">LogFormat</a> directive that does not define + a nickname. Common Log Format is used if no other format has + been specified.</p> + + <p>Example:</p> +<pre> + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" + TransferLog logs/access_log +</pre> + <hr /> + + <h3 align="CENTER">Apache HTTP Server Version 1.3</h3> + <a href="./"><img src="../images/index.gif" alt="Index" /></a> + <a href="../"><img src="../images/home.gif" alt="Home" /></a> + + </body> +</html> + + + diff --git a/usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.ja.jis b/usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.ja.jis new file mode 100644 index 00000000000..1e6893e8305 --- /dev/null +++ b/usr.sbin/httpd/htdocs/manual/mod/mod_log_config.html.ja.jis @@ -0,0 +1,419 @@ +<?xml version="1.0" encoding="iso-2022-jp"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> + <head> + <title>Apache module mod_log_config</title> + </head> + <!-- English revision: 1.56 --> + <!-- Background white, links blue (unvisited), navy (visited), red (active) --> + <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" + alink="#FF0000"> + <div align="CENTER"> + <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> + + <h3>Apache HTTP Server Version 1.3</h3> + </div> + + + <h1 align="center">mod_log_config $B%b%8%e!<%k(B</h1> + + <p>$B$3$N%b%8%e!<%k$O%5!<%P$X$N%j%/%(%9%H$r(B Common Log Format + $B$d%f!<%6$K;XDj$5$l$?=q<0$rMQ$$$F(B + $B%m%0<}=8$9$k5!G=$rDs6!$7$^$9!#(B</p> + + <p><a href="module-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Base<br /> + <a href="module-dict.html#SourceFile" + rel="Help"><strong>$B%=!<%9%U%!%$%k(B:</strong></a> + mod_log_config.c<br /> + <a href="module-dict.html#ModuleIdentifier" + rel="Help"><strong>$B%b%8%e!<%k<1JL;R(B:</strong></a> + config_log_module<br /> + <a href="module-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2 $B$h$jA0$O(B + extension $B%b%8%e!<%k$G$7$?!#(B</p> + + <h2>$B35MW(B</h2> + + <p> + $B$3$N%b%8%e!<%k$O%/%i%$%"%s%H$N%j%/%(%9%H$r=@Fp$K%m%0<}=8$9$k5!G=$r(B + $BDs6!$7$^$9!#%m%0$O%+%9%?%^%$%:2DG=$J=q<0$G=q$+$l!"%U%!%$%k$KD>@\(B + $B=q$$$?$j!"30It%W%m%0%i%`$KEO$7$?$j$9$k$3$H$,$G$-$^$9!#8D!9$N%j%/%(%9%H$r(B + $BFCD'$K1~$8$F%m%0$K=q$$$?$j=q$+$J$+$C$?$j$G$-$k$h$&$K!">r7o$K$h$k(B + $B%m%0<}=8$bDs6!$5$l$F$$$^$9!#(B</p> + + <p>$B$3$N%b%8%e!<%k$O;0$D$N%G%#%l%/%F%#%VDs6!$7$^$9(B: + $B%m%0%U%!%$%k$r:n@.$9$k$?$a$N(B <code>TransferLog</code>, + $B?7$7$$=q<0$r(B $BDj5A$9$k(B <code>LogFormat</code>, + $B%m%0%U%!%$%k$H(B $B=q<0$r0lEY$KDj5A$9$k(B <code>CustomLog</code> + $B$G$9!#(B + $B3F%j%/%(%9%H$,J#?t2s%m%0<}=8$5$l$k$h$&$K$9$k$?$a$K(B + <code>TransferLog</code> $B%G%#%l%/%F%#%V$H(B <code>CustomLog</code> + $B%G%#%l%/%F%#%V$OJ#?t2s;HMQ$9$k$3$H$,$G$-$^$9!#(B</p> + + <p>$B;2>H(B: <a href="../logs.html">Apache + $B%m%0%U%!%$%k(B</a>$B!#(B</p> + + <h2>$B%G%#%l%/%F%#%V(B</h2> + + <ul> + <li><a href="#cookielog">CookieLog</a></li> + + <li><a href="#customlog">CustomLog</a></li> + + <li><a href="#logformat">LogFormat</a></li> + + <li><a href="#transferlog">TransferLog</a></li> + </ul> + + <h2><a id="formats" name="formats">$B%+%9%?%`%m%0=q<0(B</a></h2> + + <p><code>LogFormat</code> $B%G%#%l%/%F%#%V$H(B <code>CustomLog</code> + $B%G%#%l%/%F%#%V$N=q<0$r;XDj$9$k0z?t$OJ8;zNs$G$9!#$3$NJ8;zNs$r;H$C$F$=$l$>$l$N(B + $B%j%/%(%9%H$,%m%0%U%!%$%k$K%m%0<}=8$5$l$^$9!#$=$NJ8;zNs$K$O(B + $B%m%0%U%!%$%k$K$=$N$^$^(B + $B=q$+$l$kJ8;zNs$d!"$=$l$>$l2~9T$H%?%V$r8=$9(B C $B8@8l(B + $B7A<0$N@)8fJ8;z(B "\n" $B$H(B "\t" + $B$H$r4^$a$k$3$H$,$G$-$^$9!#$=$N$^$^=PNO$5$;$?$$0zMQId$H%P%C%/%9%i%C%7%e$O(B + $B%P%C%/%9%i%C%7%e$G%(%9%1!<%W$9$kI,MW$,$"$j$^$9!#(B</p> + + <p>$B%j%/%(%9%H$NFCD'$=$N$b$N$O(B "<code>%</code>" + $B%G%#%l%/%F%#%V$r=q<0$NJ8;zNs$K=q$/$3$H$G(B + $B%m%0<}=8$5$l$^$9!#(B"%" + $B%G%#%l%/%F%#%V$O%m%0%(%s%H%jCf$G$O0J2<$N$h$&$J(B + $BCM$GCV49$5$l$^$9(B:</p> + +<pre> +%...a: $B%j%b!<%H(B IP $B%"%I%l%9(B +%...A: $B%m!<%+%k(B IP $B%"%I%l%9(B +%...B: HTTP $B%X%C%@0J30$NAw$i$l$?%P%$%H?t(B +%...b: HTTP $B%X%C%@0J30$NAw$i$l$?%P%$%H?t!#(BCLF $B=q<0!#(B + $B$9$J$o$A!"(B1 $B%P%$%H$bAw$i$l$J$+$C$?$H$-$O(B 0 $B$G$O$J$/!"(B'-' $B$K$J$k(B +%...c: $B1~Ez$,=*N;$7$?$H$-$N@\B3%9%F!<%?%9!#(B + 'X' = $B1~Ez$,=*N;$9$kA0$K@\B3$,0[>o=*N;(B + '+' = $B1~Ez$,Aw$i$l$?8e$K@\B3$r;}B3$9$k$3$H$,2DG=(B + '-' = $B1~Ez$,Aw$i$l$?8e$K@\B3$O@Z$i$l$k(B +%...{FOOBAR}e: $B4D6-JQ?t(B FOOBAR $B$NFbMF(B +%...f: $B%U%!%$%kL>(B +%...h: $B%j%b!<%H%[%9%H(B +%...H $B%j%/%(%9%H%W%m%H%3%k(B +%...{Foobar}i: $B%5!<%P$KAw$i$l$?%j%/%(%9%H$N(B Foobar: $B%X%C%@$NFbMF(B +%...l: ($B$b$7$"$l$P!"(Bidentd $B$+$i$N(B) $B%j%b!<%H%m%0L>(B +%...m $B%j%/%(%9%H%a%=%C%I(B +%...{Foobar}n: $BB>$N%b%8%e!<%k$+$i$N%a%b(B "Foobar" $B$NFbMF(B +%...{Foobar}o: $B1~Ez$N(B Foobar: $B%X%C%@$NFbMF(B +%...p: $B%j%/%(%9%H$r07$C$F$$$k%5!<%P$N@5<0$J%]!<%H(B +%...P: $B%j%/%(%9%H$r07$C$?;R%W%m%;%9$N%W%m%;%9(B ID +%...q $BLd$$9g$;J8;zNs(B ($BB8:_$9$k>l9g$OA0$K(B ? $B$,DI2C$5$l$k!#$=$&$G$J$$(B + $B>l9g$O6uJ8;zNs(B) +%...r: $B%j%/%(%9%H$N:G=i$N9T(B +%...s: $B%9%F!<%?%9!#FbIt$G%j%@%$%l%/%H$5$l$?%j%/%(%9%H$O!"85!9$N(B + $B%j%/%(%9%H$N%9%F!<%?%9(B --- $B:G8e$N%9%F!<%?%9$O(B %...>s +%...t: $B;~9o!#(BCLF $B$N;~9o$N=q<0(B ($BI8=`$N1Q8l$N=q<0(B) +%...{format}t: format $B$GM?$($i$l$?=q<0$K$h$k;~9o!#(Bformat $B$O(B strftime (3) $B$N(B + $B=q<0$G$"$kI,MW$,$"$k!#(B($BCO0h2=$5$l$F$$$k2DG=@-$,$"$k(B) +%...T: $B%j%/%(%9%H$r07$&$N$K$+$+$C$?;~4V!"ICC10L(B +%...u: $B%j%b!<%H%f!<%6(B (auth $B$K$h$k$b$N!#%9%F!<%?%9(B (%s) $B$,(B 401 $B$N$H$-$O(B + $B0UL#$,$J$$2DG=@-$,$"$k(B) +%...U: $B%j%/%(%9%H$5$l$?(B URL $B%Q%9$G!"%/%(%jJ8;zNs$O4^$^$J$$(B +%...v: $B%j%/%(%9%H$r07$C$F$$$k%5!<%P$N@5<0$J(B ServerName +%...V: UseCanonicalName $B$N@_Dj$K$h$k%5!<%PL>(B +</pre> + + <p>"..." $B$O2?$b$J$$$+(B (<em>$BNc$($P(B</em>$B!"(B<code>"%h %u %r %s %b"</code> $B$N$h$&$K(B)$B!"(B + $B$=$N9`L\$r4^$a$k$+$I$&$+$N>r7o(B ($B$b$7>r7o$K9g$o$J$+$C$?$H$-$O(B + $B$=$N9`L\$O(B "-" $B$K$J$j$^$9(B) $B$K$9$k$3$H$,$G$-$^$9!#>r7o$N7A<0$O(B + HTTP $B%9%F!<%?%9%3!<%I$N%j%9%H$G!"A0$K(B "!" $B$rIU$1$k$3$H$b$G$-$^$9!#(B + $B$G$9$+$i!"(B"%400,501{User-agent}i" $B$O(B 400 $B%(%i!<$H(B 501 $B%(%i!<(B + (Bad Request $B$H(B Not Implemented) $B$N$H$-$N$_(B User-agent: $B$r%m%0<}=8$7$^$9!#(B + "%!200,304,302{Referer}i" $B$OIaDL$N%9%F!<%?%9$r(B<strong>$BJV$5$J$+$C$?(B</strong> + $B$9$Y$F$N%j%/%(%9%H$G(B Referer: $B$r%m%0<}=8$7$^$9!#(B</p> + + <p>1.3.25 $B$h$jA0$N%P!<%8%g%s$G$O!"(B<code>%...r</code>, <code>%...i</code>, + <code>%...o</code> $B$NJ8;zNs$O(B + $B%(%9%1!<%W$5$l$F$$$J$+$C$?$3$H$K(B + $BCm0U$7$F$/$@$5$$!#$3$l$O<g$K(B Common Log Format $B$+$i$NMW5a$K$h$k$b$N$G$9!#(B + $B$3$l$O!"%/%i%$%"%s%H$,%m%0$K@)8fJ8;z$rA^F~$9$k$3$H$,$G$-$k$H$$$&$3$H$G!"(B + $B@8$N%m%0%U%!%$%k$r07$&$H$-$K$OHs>o$KCm0U$,I,MW$G$7$?!#(B</p> + + <p>$B%;%-%e%j%F%#>e$NM}M3$K$h$j(B 1.3.25 $B$h$j0u;zIT2DG=$JJ8;z$H(B + $BB>$NFCJL$JJ8;z$O!"$[$H$s$I(B <code>\x<var>hh</var></code> $B$H$$$&(B + $BJ8;zNs$G%(%9%1!<%W$5$l$k$h$&$K$J$j$^$7$?!#$3$3$G!"(B<var>hh</var> $B$O(B + $B$=$N$^$^$N%P%$%H$NCM$N(B 16 $B?J$G$NCM$G$9!#$3$N5,B'$NNc30$K$O!"(B + $B%P%C%/%9%i%C%7%e$r;H$C$F%(%9%1!<%W$5$l$k(B <code>"</code> $B$H(B <code>\</code> $B$H!"(B + C $B7A<0$NI=5-K!$,;H$o$l$k6uGrJ8;z(B (<code>\n</code>, <code>\t</code> $B$J$I(B) $B$,(B + $B$"$j$^$9!#(B</p> + + <p>$B$h$/;H$o$l$k%U%)!<%^%C%HJ8;zNs$O(B:</p> + + <dl> + <dt>Common Log Format (CLF)</dt> + + <dd><code>"%h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>$B%P!<%A%c%k%[%9%HIU$-(B Common Log Format</dt> + + <dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd> + + <dt>NCSA extended/combined $B%m%0=q<0(B</dt> + + <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" + \"%{User-agent}i\""</code></dd> + + <dt>Referer $B%m%0=q<0(B</dt> + + <dd><code>"%{Referer}i -> %U"</code></dd> + + <dt>Agent ($B%V%i%&%6(B) $B%m%0=q<0(B</dt> + + <dd><code>"%{User-agent}i"</code></dd> + </dl> + + <p><code>%v</code> $B$H(B <code>%p</code> $B$K$O$=$l$>$l!"(B + $B%j%/%(%9%H$r07$C$F$$$k%5!<%P$N@55,2=$5$l$?(B + <a href="core.html#servername">ServerName</a> $B$H(B <a + href="core.html#port">Port</a> $B$,;H$o$l$k$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#(B + $B$3$l$O(B <a href="core.html#usecanonicalname">UseCanonicalName</a> $B$N(B + $B@_Dj$K4X$o$i$:!">o$K$=$&$J$j$^$9!#$=$&$7$J$$$H$I$N(B + $B%[%9%H$,<B:]$K%j%/%(%9%H$r07$C$?$N$+$rCN$k$?$a$K!"(B + $B%m%02r@O%W%m%0%i%`$,%P!<%A%c%k%[%9%H$N%^%C%A%s%0$r$H$k%"%k%4%j%:%`A4BN$r(B + $B:F<BAu$7$J$1$l$P$J$i$J$/$J$k$+$i$G$9!#(B</p> + + <h2>$B%;%-%e%j%F%#$K4X$7$F(B</h2> + + <p>$B%m%0%U%!%$%k$,J]B8$5$l$F$$$k%G%#%l%/%H%j$,%5!<%P$r5/F0$7$?0J30$N%f!<%6$G(B + $B=q$-9~$_2DG=$J$H$-$K%;%-%e%j%F%#$NLdBj$,H/@8$9$kM}M3$N>\:Y$O(B<a + href="../misc/security_tips.html#serverroot">$B%;%-%e%j%F%#$N$3$D(B</a> + $B$r;2>H$7$F$/$@$5$$!#(B</p> + + <h2>$B8_49@-$K4X$7$F(B</h2> + + <ul> + <li>$B$3$N%b%8%e!<%k$O0JA0$N(B Apache + $B$N%j%j!<%9$GG[I[$5$l$F$$$?(B mod_log_config + $B$r4p$K$7$F!"J#?t$N%m%0$r07$($k$h$&$K99?7$5$l$?$b$N$G$9!#(B + $B@_Dj2DG=$J%m%0$N=q<0$r;H$&$?$a$K(B Apache $B$r%S%k%I(B + $B$7D>$9I,MW$O$J$/$J$j$^$7$?!#(B</li> + + <li>$B$3$N%b%8%e!<%k$O(B <a + href="mod_usertrack.html">mod_usertrack</a> $B$K$h$j(B + $B:n$i$l$?%f!<%6DI@WMQ$N>pJs$N%m%0<}=8$r9T$J$&$?$a$K;H$o$l$F$$$?(B + <code>CookieLog</code> + $B%G%#%l%/%F%#%V$b<BAu$7$F$$$^$9!#(B<code>CookieLog</code> + $B%G%#%l%/%F%#%V$N;HMQ$OHs?d>)$G!"(B + $B%f!<%6DI@WMQ$N>pJs$b%m%0<}=8$9$k$h$&$K@_Dj$7$?(B + <code>CustomLog</code> $B$r;H$&$3$H$,?d>)$5$l$F$$$^$9!#(B</li> + + <li>Apache 1.3.5 $B$N;~E@$G!"$3$N%b%8%e!<%k$O(B <a + href="../env.html">$B4D6-JQ?t(B</a> + $B$N@_Dj$K4p$E$$$F>r7oIU$-%m%.%s%0$,$G$-$k$h$&$K$J$j$^$7$?!#$9$J$o$A!"(B + $B%j%/%(%9%H$,%m%0<}=8$5$l$k$+$I$&$+$rG$0U$N4D6-JQ?t$,Dj5A$5$l$F$$$k$+(B + $B$I$&$+$K$h$jJQ99$9$k$3$H$,$G$-$k$H$$$&$3$H$G$9!#$3$l$O(B + $B%m%0%U%!%$%k$4$H$K@_Dj2DG=$G$9!#(B</li> + + <li>Apache 1.3.5 $B$+$i!"(Bmod_log_config $B%b%8%e!<%k$O(B <a + href="mod_log_referer.html">mod_log_referer</a> $B$N(B + <code>RefererIgnore</code> $B5!G=$b4^$`$h$&$K$J$j$^$7$?!#(B + <code>RefererIgnore</code> $B$N8z2L$O(B <a + href="mod_setenvif.html"><code>SetEnvIf</code></a> + $B%G%#%l%/%F%#%V$H(B <code>CustomLog</code> + $B$N>r7oIU$-$N@_Dj$K$h$jC#@.$G$-$^$9!#(B</li> + </ul> + + <hr /> + <h2><a id="cookielog" name="cookielog">CookieLog</a> + $B%G%#%l%/%F%#%V(B</h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> CookieLog + <em>filename</em><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> + $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_cookies<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Apache 1.2 + $B0J9_$G$N$_;HMQ2DG=(B</p> + + <p>CookieLog + $B%G%#%l%/%F%#%V$O%/%C%-!<$N%m%.%s%0$N$?$a$N%U%!%$%kL>$r(B + $B@_Dj$7$^$9!#(Bfilename $B$O(B <a + href="core.html#serverroot">ServerRoot</a> + $B$+$i$NAjBP%Q%9$G$9!#$3$N%G%#%l%/%F%#%V$O(B <a + href="mod_cookies.html">mod_cookies</a> $B$H$N8_49@-$N$?$a$@$1$K(B + $BB8:_$7!";HMQ$O?d>)$5$l$F$$$^$;$s!#(B</p> + + <hr /> + <h2><a id="customlog" name="customlog">CustomLog</a> <a + id="customlog-conditional" + name="customlog-conditional">$B%G%#%l%/%F%#%V(B</a></h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> CustomLog + <em>file</em>|<em>pipe</em> <em>format</em>|<em>nickname</em> + [env=[!]<em>environment-variable</em>]<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> + $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Base<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> Nickname $B$O(B Apache + 1.3 $B0J9_$G$N$_;HMQ2DG=!#(B $B>r7oIU$-%m%.%s%0$O(B 1.3.5 + $B0J9_$G;HMQ2DG=!#(B<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_log_config</p> + + <p><code>CustomLog</code> $B%G%#%l%/%F%#%V$O%5!<%P$X$N%j%/%(%9%H$r(B + $B%m%0<}=8$9$k$?$a$K;H$o$l$^$9!#%m%0$N=q<0$,;XDj$5$l!"(B + $B4D6-JQ?t$r;H$C$F%m%.%s%0$,>r7o$K1~$8$F9T$J$o$l$k$h$&$K$9$k$3$H$b$G$-$^$9!#(B</p> + + <p>$B%m%0$,=q$+$l$k>l=j$r;XDj$9$k:G=i$N0z?t$O0J2<$NFs$D$N7A<0$NCM$r(B + $B$H$k$3$H$,$G$-$^$9(B:</p> + + <dl> + <dt><em>file</em></dt> + + <dd><a href="core.html#serverroot">ServerRoot</a> + $B$+$i$NAjBP%Q%9$GI=$5$l$k%U%!%$%kL>!#(B</dd> + + <dt><em>pipe</em></dt> + + <dd>$B%Q%$%WJ8;z(B "<code>|</code>" $B$H!"$=$N8e$KI8=`F~NO$+$i%m%0$N(B + $B>pJs$r<u$1$H$k%W%m%0%i%`$X$N%Q%9$,B3$$$?$b$N!#(B + <strong>$B%;%-%e%j%F%#(B:</strong> $B$b$7%W%m%0%i%`$,;HMQ$5$l$?>l9g!"(B + httpd $B$,5/F0$5$l$?%f!<%6$H$7$F<B9T$5$l$^$9!#$3$l$O%5!<%P$,(B + root $B$K$h$C$F5/F0$5$l$?>l9g$O(B root $B$K$J$j$^$9!#%W%m%0%i%`$,(B + $B0BA4$G$"$k$h$&$KN10U$7$F$/$@$5$$!#(B</dd> + </dl> + + <p>$BFs$D$a$N0z?t$O%m%0%U%!%$%k$K2?$,=q$+$l$k$+$r;XDj$7$^$9!#(B + $BA0$K$"$k(B <a href="#logformat">LogFormat</a> $B%G%#%l%/%F%#%V$K$h$j(B + $BDj5A$5$l$?(B <em>$B%K%C%/%M!<%`(B</em> $B$+!"(B<a href="#formats">$B%m%0$N=q<0(B</a> + $B$N$H$3$m$G@bL@$5$l$F$$$k!"L@<(E*$J(B<em>$B%U%)!<%^%C%H(B</em>$BJ8;zNs$N(B + $B$I$A$i$+$r;XDj$9$k$3$H$,$G$-$^$9!#(B</p> + + <p>$BNc$($P!"0J2<$NFs$D$N%G%#%l%/%F%#%V72$OA4$/F1$88z2L$r$b$?$i$7$^$9(B:</p> + +<pre> + # CustomLog with format nickname + LogFormat "%h %l %u %t \"%r\" %>s %b" common + CustomLog logs/access_log common + + # CustomLog with explicit format string + CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b" +</pre> + + <p>$B;0$DL\$N0z?t$O>JN,2DG=$G!"%5!<%P$N4D6-$K$"$kJQ?t$,$"$k$+$J$$$+$K(B + $B1~$8$F%j%/%(%9%H$r%m%0<}=8$9$k$+$I$&$+$r@)8f$9$k$?$a$K;H$&$3$H$,$G$-$^$9!#(B + $B;XDj$5$l$?(B<a href="../env.html">$B4D6-JQ?t(B</a>$B$,%j%/%(%9%H$KBP$7$F(B + $B@_Dj$5$l$F$$$?>l9g(B ('<code>env=!<em>name</em></code>' $BJ8$,;H$o$l$?$H$-$O(B + $B@_Dj$5$l$F$$$J$$>l9g(B)$B!"%j%/%(%9%H$,%m%0<}=8$5$l$^$9!#(B</p> + + <p>$B4D6-JQ?t$O(B <a href="mod_setenvif.html">mod_setenvif</a> $B%b%8%e!<%k$H(B + <a href="mod_rewrite.html">mod_rewrite</a> $B%b%8%e!<%k$NN>J}$b$7$/$O(B + $BJRJ}$rMQ$$$F%j%/%(%9%H$4$H$K@_Dj$9$k$3$H$,$G$-$^$9!#(B + $BNc$($P!"%5!<%P$K$"$k$9$Y$F$N(B GIF $B2hA|$X$N%j%/%(%9%H$rJL$N%m%0%U%!%$%k(B + $B$K$O5-O?$7$?$$$1$l$I!"%a%$%s%m%0$K$O5-O?$7$?$/$J$$!"$H$$$&$H$-$O(B + $B0J2<$N$b$N$r;H$&$3$H$,$G$-$^$9(B:</p> + +<pre> + SetEnvIf Request_URI \.gif$ gif-image + CustomLog gif-requests.log common env=gif-image + CustomLog nongif-requests.log common env=!gif-image +</pre> + + <hr /> + <h2><a id="logformat" name="logformat">LogFormat</a> + $B%G%#%l%/%F%#%V(B</h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> LogFormat + <em>format</em>|<em>nickname</em> [<em>nickname</em>]<br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> <code>LogFormat "%h + %l %u %t \"%r\" %>s %b"</code><br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> + $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Base<br /> + <a href="directive-dict.html#Compatibility" + rel="Help"><strong>$B8_49@-(B:</strong></a> $B%K%C%/%M!<%`$O(B + Apache 1.3 $B0J9_$G$N$_;HMQ2DG=(B<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_log_config</p> + + <p>$B$3$N%G%#%l%/%F%#%V$O%"%/%;%9%m%0%U%!%$%k$N=q<0$r;XDj$7$^$9!#(B</p> + + <p><code>LogFormat</code> $B%G%#%l%/%F%#%V$OFs$D$N7A<0$N$I$A$i$+$r(B + $B$H$k$3$H$,$G$-$^$9!#:G=i$N7A<0$G$O0l$D$N0z?t$N$_$,;XDj$5$l!"(B + $BB3$/(B <a href="#transferlog">TransferLog</a> + $B$G;XDj$5$l$?%m%0$G;H$o$l$k%m%0$N=q<0$r@_Dj$7$^$9!#$3$NC1FH$N0z?t$G$O(B + $B>e$N(B<a href="#formats">$B%+%9%?%`%m%0=q<0(B</a>$B$G@bL@$5$l$F$$$k$h$&$K(B + <em>$B%U%)!<%^%C%H(B</em>$B$rL@<(E*$K;XDj$9$k$3$H$,$G$-$^$9!#(B + $B$b$7$/$O!"2<$G@bL@$5$l$F$$$k$h$&$KA0$K(B <code>LogFormat</code> + $B%G%#%l%/%F%#%V$GDj5A$5$l$?%m%0$N=q<0$r(B<em>$B%K%C%/%M!<%`(B</em>$B$r;H$C$F(B + $B;2>H$9$k$3$H$b$G$-$^$9!#(B</p> + + <p><code>LogFormat</code> $B%G%#%l%/%F%#%V$NFs$D$a$N7A<0$O(B + <em>$B%U%)!<%^%C%H(B</em>$B$K(B<em>$B%K%C%/%M!<%`(B</em>$B$rM?$($^$9!#(B + $B%U%)!<%^%C%HJ8;zNsA4BN$r:F$S=q$/$+$o$j$K!"(B + $B$3$N(B<em>$B%K%C%/%M!<%`(B</em>$B$rB3$-$N(B <code>LogFormat</code> $B%G%#%l%/%F%#%V$d(B + <a href="#customlog">CustomLog</a> $B%G%#%l%/%F%#%V$G;H$&$3$H$,$G$-$^$9!#(B + $B%K%C%/%M!<%`$rDj5A$9$k(B <samp>LogFormat</samp> $B%G%#%l%/%F%#%V$O(B + <strong>$BB>$K$O2?$b$7$^$;$s(B</strong> -- $B$9$J$o$A!"%K%C%/%M!<%`$rDj5A(B + $B$9$k$@$1$G!"<B:]$K=q<0$rE,MQ$7$F%G%U%)%k%H$K$9$k$H$$$&$3$H$O9T$J$$$^$;$s!#(B + $B$G$9$+$i!"$3$l$OB3$/(B <a href="#transferlog">TransferLog</a> + $B%G%#%l%/%F%#%V$K$O1F6A$rM?$($^$;$s!#(B</p> + + + <p>$BNc(B:</p> + + <code>LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common</code> + + <hr /> + <h2><a id="transferlog" + name="transferlog">TransferLog</a>$B%G%#%l%/%F%#%V(B</h2> + + <p><a href="directive-dict.html#Syntax" + rel="Help"><strong>$B9=J8(B:</strong></a> TransferLog + <em>file</em>|<em>pipe</em><br /> + <a href="directive-dict.html#Default" + rel="Help"><strong>$B%G%U%)%k%H(B:</strong></a> none<br /> + <a href="directive-dict.html#Context" + rel="Help"><strong>$B%3%s%F%-%9%H(B:</strong></a> + $B%5!<%P@_Dj%U%!%$%k!"%P!<%A%c%k%[%9%H(B<br /> + <a href="directive-dict.html#Status" + rel="Help"><strong>$B%9%F!<%?%9(B:</strong></a> Base<br /> + <a href="directive-dict.html#Module" + rel="Help"><strong>$B%b%8%e!<%k(B:</strong></a> mod_log_config</p> + + <p>$B$3$N%G%#%l%/%F%#%V$O!"%m%0=q<0$rD>@\;XDj$G$-$J$$$3$H$H!"(B + $B>r7oIU$-%m%.%s%0$,L5$$$3$H$r=|$/$H!"(B<a + href="#customlog">CustomLog</a> $B$HA4$/F1$80z?t$H8z2L$,$"$j$^$9!#(B + $BD>@\%m%0=q<0$r;XDj$9$kBe$o$j$K!"%m%0$N=q<0$O$=$3$^$G$G0lHV:G8e$K;XDj$5$l$?(B + $B%K%C%/%M!<%`$rDj5A$7$J$$(B + <a href="#logformat">LogFormat</a> $B%G%#%l%/%F%#%V(B + $B$GDj5A$5$l$?$b$N$r;H$$$^$9!#(B + $B$b$7B>$N=q<0$,A4$/;XDj$5$l$F$$$J$$$H$-$O(B Common Log Format + $B$,;H$o$l$^$9!#(B</p> + + <p>$BNc(B:</p> + +<pre> + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" + TransferLog logs/access_log +</pre> + + <hr /> + + <h3 align="CENTER">Apache HTTP Server Version 1.3</h3> + <a href="./"><img src="../images/index.gif" alt="Index" /></a> + <a href="../"><img src="../images/home.gif" alt="Home" /></a> + + </body> +</html> + |