core.xml.ja revision e797af4d7b0cada1278d72d6c8ac77210ef78632
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
6b26240dca29e026900a83d51c75ca230a072a16Thiemo Wiedemeyer<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer<!-- English Revision: 669847:904853 (outdated) -->
2eeec5240b424984e3ee26296da1eeab6c6d739eChristian Maeder Licensed to the Apache Software Foundation (ASF) under one or more
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer contributor license agreements. See the NOTICE file distributed with
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer this work for additional information regarding copyright ownership.
7520452bb30b5abbd471f82352fc4c1c937e02c5Till Mossakowski The ASF licenses this file to You under the Apache License, Version 2.0
7520452bb30b5abbd471f82352fc4c1c937e02c5Till Mossakowski (the "License"); you may not use this file except in compliance with
7520452bb30b5abbd471f82352fc4c1c937e02c5Till Mossakowski the License. You may obtain a copy of the License at
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer http://www.apache.org/licenses/LICENSE-2.0
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer Unless required by applicable law or agreed to in writing, software
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer distributed under the License is distributed on an "AS IS" BASIS,
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer See the License for the specific language governing permissions and
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer limitations under the License.
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer<description>常に使用可能な Apache HTTP サーバのコア機能</description>
b0adcc203b4267d5535b430372935a5f36726db1Simon Ulbricht<directivesynopsis>
83263d411f611d9902ef4d98c93be6ad9361c833Christian Maeder<description>プロトコルを Listen しているソケットの最適化を設定する</description>
abea93ed557b22ea833e1524ee5ca11afc12208aSimon Ulbricht<syntax>AcceptFilter <var>protocol</var> <var>accept_filter</var></syntax>
521045d36343cd17dd217a81d4b9422ad6ab6a07Christian Maeder<contextlist><context>server config</context></contextlist>
aa21e7aa42fef563dea0cc77edbde76f66cdbe88Thiemo Wiedemeyer <p>Listen しているソケットに対して、OS が固有に持っているプロトコルについての最適化を
aa21e7aa42fef563dea0cc77edbde76f66cdbe88Thiemo Wiedemeyer 有効にするディレクティブです。大前提となる条件は、データが受信されるか
8836fa284a241af325aa6f41234b5130b26ec4f9Thiemo Wiedemeyer HTTP リクエスト全体がバッファされるかするまで、カーネルがサーバプロセスに
8836fa284a241af325aa6f41234b5130b26ec4f9Thiemo Wiedemeyer ソケットを送らないようになっている、ということです。現在サポートされているのは、
331603b37dec12e37e2e1df9634ef0f2c5c73ddfThiemo Wiedemeyer <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&sektion=9">
7ae38566aaf40710cd83ffa3ba25655c4ad22741Thiemo Wiedemeyer FreeBSD の Accept Filter</a> と Linux のプリミティブな
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer AcceptFilter http httpready <br/>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer AcceptFilter https dataready
3a6decfd748f532d5cb03fbcb7a42fa37b0faab3Christian Maeder <p><code>httpready</code> Accept Filter は HTTP リクエスト全体を、
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer カーネルレベルでバッファリングします。リクエスト全体を受信し終わると、
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer その後サーバプロセスにそれを送ります。詳細については <a
1842453990fed8a1bd7a5ac792d7982c1d2bfcd5Christian Maeder href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9">accf_http(9)</a>
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer を参照してください。HTTPS のリクエストは暗号化されているので <a
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&sektion=9">accf_data(9)</a>
b6a59f004903ac7bc96323ee3ef09c01fd221157Christian Maeder フィルタのみが使用されます。</p>
ec25781c1180ea07f66b48c34f93cf5634e9277cChristian Maeder AcceptFilter http data <br/>
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer AcceptFilter https data
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer <p>Linux の <code>TCP_DEFER_ACCEPT</code> は HTTP リクエストのバッファリングを
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer <code>TCP_DEFER_ACCEPT</code> が有効になります。詳細については Linux
d1066b8fb69179973dcab47154858d77e72760a7Thiemo Wiedemeyer href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/tcp.7.html">tcp(7)</a>
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer を参照してください。</p>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <p>引数に <code>none</code> を指定すると、プロトコルに対する全ての Accept
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer Filter が無効になります。<code>nntp</code> といった、先にサーバにデータを
3587928ae948e8505f5af052dd4dc7cd97b6638eChristian Maeder 送る必要のあるプロトコルに有効です :</p>
1e3aca4178372af672efb237d16087c603fe5564Christian Maeder</directivesynopsis>
4b136ad539bd9f4e115dff4eee4d552a42d4437eChristian Maeder<directivesynopsis>
a79266feb130561fa1a95ae0429d0574f625f6ceChristian Maeder<description>後に続くパス名情報を受け付けるリソースの指定</description>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer<syntax>AcceptPathInfo On|Off|Default</syntax>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer<contextlist><context>server config</context>
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer<context>virtual host</context><context>directory</context>
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder<compatibility>Apache 2.0.30 以降で使用可能</compatibility>
16e45483b5ce48f0b92d01c817242a8c9b8bae02Christian Maeder <p>このディレクティブは実際のファイル名 (もしくは存在するディレクトリの
ddc662fdf0207eae2034d7b68ae5e2225c575207Thiemo Wiedemeyer 存在しないファイル) の後に続くパス名情報があるリクエストを受け付けるか
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer 拒否するかを制御します。続きのパス名情報はスクリプトには <code>PATH_INFO</code>
28ca54b0d63d1d26a991711c8c7e85c474994715Christian Maeder 環境変数として利用可能になります。</p>
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu <p>例えば、<code>/test/</code> が、<code>here.html</code> というファイル
02a84229da51532505a93fc2abfca1ccf81b4446Razvan Pascanu 一つのみがあるディレクトリを指しているとします。そうすると、
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu <code>/test/here.html/more</code> と <code>/test/nothere.html/more</code>
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer へのリクエストは両方とも <code>/more</code> を <code>PATH_INFO</code> とします。</p>
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer <p><directive>AcceptPathInfo</directive> ディレクティブに指定可能な
32d98ca5e560cf6c1062a0463be4c350af32bed5Thiemo Wiedemeyer <dt><code>Off</code></dt><dd>リクエストは存在するパスにそのまま
331603b37dec12e37e2e1df9634ef0f2c5c73ddfThiemo Wiedemeyer マップされる場合にのみ受け付けられます。ですから、上の例の
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer <code>/test/here.html/more</code> のように、本当のファイル名の
32d98ca5e560cf6c1062a0463be4c350af32bed5Thiemo Wiedemeyer 後にパス名情報が続くリクエストには 404 NOT FOUND エラーが返ります。</dd>
331603b37dec12e37e2e1df9634ef0f2c5c73ddfThiemo Wiedemeyer <dt><code>On</code></dt><dd>前の方のパスが存在するファイルにマップする場合は
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer リクエストが受け付けられます。上の例の <code>/test/here.html/more</code>
c40b7badd217089d8a256dabdf8f7d4e219ca215Thiemo Wiedemeyer は <code>/test/here.html</code> が有効なファイルにマップすれば
d71a37fb09bce02af6c98e7a5ab0aa5639058e4fThiemo Wiedemeyer 受け付けられます。</dd>
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer <dt><code>Default</code></dt><dd>続きのパス名情報の扱いはリクエストの
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu 普通のファイルのためのコアハンドラのデフォルトは <code>PATH_INFO</code> を拒否します。
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer <a href="mod_cgi.html">cgi-script</a> や <a
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer href="mod_isapi.html">isapi-handler</a> のようにスクリプトを扱うハンドラは
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer 一般的にデフォルトで <code>PATH_INFO</code> を受け付けます。</dd>
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer <p><code>AcceptPathInfo</code> の主な目的はハンドラの <code>PATH_INFO</code> を
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer 受け付けるか拒否するかの選択を上書きできるようにすることです。
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer 例えば、これは例えば <a href="mod_include.html">INCLUDES</a> のような
e49fd57c63845c7806860a9736ad09f6d44dbaedChristian Maeder <a href="/filter.html">フィルタ</a>を使って <code>PATH_INFO</code> に
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer 基づいてコンテンツを生成しているときに必要になります。</p>
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer Options +Includes<br />
aa21e7aa42fef563dea0cc77edbde76f66cdbe88Thiemo Wiedemeyer SetOutputFilter INCLUDES<br />
788bd3c33ec5aaeb90a1932c341ff837116410cfThiemo Wiedemeyer AcceptPathInfo On<br />
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder </Files>
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer</directivesynopsis>
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer<directivesynopsis>
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer<syntax>AccessFileName <var>filename</var> [<var>filename</var>] ...</syntax>
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer<default>AccessFileName .htaccess</default>
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer<contextlist><context>server config</context><context>virtual host</context>
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer <p>リクエストを処理するとき、サーバはディレクトリに
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer 対して分散設定ファイルが<a href="#allowoverride">有効になっていれば</a>、
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer パス上にある全てのディレクトリから、ここで指定された名前の一覧の中で
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer 最初に見つかったファイルをそれぞれ設定ファイルとして読み込みます。例えば:</p>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder AccessFileName .acl
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer <p>という設定があると、以下のようにして無効にされていない限り、
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer ドキュメント <code>/usr/local/web/index.html</code>
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer を返す前に、サーバは <code>/.acl</code>, <code>/usr/.acl</code>,
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer <code>/usr/local/.acl</code>, <code>/usr/local/web/.acl</code> から
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer ディレクティブを読み込みます。</p>
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer <Directory /><br />
d71a37fb09bce02af6c98e7a5ab0aa5639058e4fThiemo Wiedemeyer AllowOverride None<br />
788bd3c33ec5aaeb90a1932c341ff837116410cfThiemo Wiedemeyer </Directory>
39a2520d13a7d43f0c0fa71b94255c3f7c500005Christian Maeder<seealso><directive module="core">AllowOverride</directive></seealso>
39a2520d13a7d43f0c0fa71b94255c3f7c500005Christian Maeder<seealso><a href="/configuring.html">設定ファイル</a></seealso>
788bd3c33ec5aaeb90a1932c341ff837116410cfThiemo Wiedemeyer<seealso><a href="/howto/htaccess.html">.htaccess ファイル</a></seealso>
d71a37fb09bce02af6c98e7a5ab0aa5639058e4fThiemo Wiedemeyer</directivesynopsis>
aa21e7aa42fef563dea0cc77edbde76f66cdbe88Thiemo Wiedemeyer<directivesynopsis>
aa21e7aa42fef563dea0cc77edbde76f66cdbe88Thiemo Wiedemeyer<description>レスポンスのコンテントタイプが <code>text/plain</code> あるいは
aa21e7aa42fef563dea0cc77edbde76f66cdbe88Thiemo Wiedemeyer<code>text/html</code> の場合に追加するデフォルトの charset パラメータ</description>
aa21e7aa42fef563dea0cc77edbde76f66cdbe88Thiemo Wiedemeyer<syntax>AddDefaultCharset On|Off|<var>charset</var></syntax>
aa21e7aa42fef563dea0cc77edbde76f66cdbe88Thiemo Wiedemeyer<contextlist><context>server config</context>
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer<context>virtual host</context><context>directory</context>
92e96be605537638d75e9d3023ab698bd89cf889Thiemo Wiedemeyer <p>レスポンスのコンテントタイプが <code>text/plain</code>
fa1bf658051ac503f27ff1b59edb093398eed6edThiemo Wiedemeyer の場合に限りますが、レスポンスに追加するメディアタイプの文字セットパラメータ
fa1bf658051ac503f27ff1b59edb093398eed6edThiemo Wiedemeyer (文字エンコーディングの名前) のデフォルト値を、このディレクティブで指定します。
d24317c8197e565e60c8f41309de246249c1e57eChristian Maeder これはレスポンス <transnote>レスポンスの HTML</transnote> 内で <code>META</code>
fa1bf658051ac503f27ff1b59edb093398eed6edThiemo Wiedemeyer 要素で指定された、どのような文字セットも無効にしますが、
92e96be605537638d75e9d3023ab698bd89cf889Thiemo Wiedemeyer 最終的な挙動はユーザのクライアント側の設定で決まります。
92e96be605537638d75e9d3023ab698bd89cf889Thiemo Wiedemeyer この機能は <code>AddDefaultCharset Off</code> という設定で無効になります。
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder Apache 内部のデフォルト文字セット <code>iso-8859-1</code> に設定されます。
92e96be605537638d75e9d3023ab698bd89cf889Thiemo Wiedemeyer その他 <var>charset</var> に指定できる値であれば、どんな値でも使えます。
92e96be605537638d75e9d3023ab698bd89cf889Thiemo Wiedemeyer 指定する値は、MIME メディアタイプとして使われる
aa21e7aa42fef563dea0cc77edbde76f66cdbe88Thiemo Wiedemeyer <a href="http://www.iana.org/assignments/character-sets">IANA
aa21e7aa42fef563dea0cc77edbde76f66cdbe88Thiemo Wiedemeyer に登録されている文字セット名</a>のうちの一つにすべきです。
aa21e7aa42fef563dea0cc77edbde76f66cdbe88Thiemo Wiedemeyer AddDefaultCharset utf-8
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer <p><directive>AddDefaultCharset</directive> を使うときは、全てのテキストリソースが
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer 指定する文字エンコードになっていると分かっていて、かつ、
d9f20cf968e246ec283f0c09f60af4b47b174398Thiemo Wiedemeyer リソースの個々に文字セットを指定するのが大変な場合のみです。
d9f20cf968e246ec283f0c09f60af4b47b174398Thiemo Wiedemeyer 例を挙げると、レガシーな CGI スクリプトなどの、動的に生成される
d9f20cf968e246ec283f0c09f60af4b47b174398Thiemo Wiedemeyer コンテンツを含むリソースに文字セットパラメータを追加する場合で、
d9f20cf968e246ec283f0c09f60af4b47b174398Thiemo Wiedemeyer ユーザの入力データが出力に入り、クロスサイトスクリプティングが
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder 引き起こされうる場合です。デフォルト文字セットをセットしたとしても、
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder ブラウザの "文字エンコードの自動選択" 機能が有効になっているユーザを
d9f20cf968e246ec283f0c09f60af4b47b174398Thiemo Wiedemeyer 守ることにはならないので、もちろんより良い解決策は単にスクリプトを修正
d9f20cf968e246ec283f0c09f60af4b47b174398Thiemo Wiedemeyer (あるいは削除) することです。</p>
39a2520d13a7d43f0c0fa71b94255c3f7c500005Christian Maeder<seealso><directive module="mod_mime">AddCharset</directive></seealso>
4014fb09362f3e38a91d7bb11b1484a4790e9297Thiemo Wiedemeyer</directivesynopsis>
39a2520d13a7d43f0c0fa71b94255c3f7c500005Christian Maeder<directivesynopsis>
da1f9fa9339a0115d0559411929835bcff74e5f5Thiemo Wiedemeyer<description>MIME-type に出力フィルタを割り当てる</description>
da1f9fa9339a0115d0559411929835bcff74e5f5Thiemo Wiedemeyer<syntax>AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] <var>MIME-type</var>
4014fb09362f3e38a91d7bb11b1484a4790e9297Thiemo Wiedemeyer<contextlist><context>server config</context>
da1f9fa9339a0115d0559411929835bcff74e5f5Thiemo Wiedemeyer<context>virtual host</context><context>directory</context>
3e3efd4ce838940032e875e6d08712a177c9c1d0Thiemo Wiedemeyer<compatibility>Apache 2.0.33 以降で使用可能; Apache 2.1 以降非推奨</compatibility>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder <p>このディレクティブは応答の <glossary ref="mime-type">MIME タイプ</glossary> に応じて出力<a
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder しかし後述する問題のため、このディレクティブは非推奨です。
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder 同等の機能は <module>mod_filter</module> で実現可能です。</p>
788bd3c33ec5aaeb90a1932c341ff837116410cfThiemo Wiedemeyer <p>次の例は <module>mod_deflate</module> の <code>DEFLATE</code> フィルタを
788bd3c33ec5aaeb90a1932c341ff837116410cfThiemo Wiedemeyer 使っています。<code>text/html</code> と <code>text/plain</code> の
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder すべての出力 (静的なものも動的なものも) をクライアントに送られる前に
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder AddOutputFilterByType DEFLATE text/html text/plain
788bd3c33ec5aaeb90a1932c341ff837116410cfThiemo Wiedemeyer <p>複数のフィルタでコンテンツを処理させたいときは、それぞれの名前をセミコロンで
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder 分ける必要があります。各フィルタに対して
788bd3c33ec5aaeb90a1932c341ff837116410cfThiemo Wiedemeyer <directive>AddOutputFilterByType</directive> を一つずつ書くこともできます。</p>
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer <p>次の例は <code>text/html</code> のスクリプトのすべての出力を
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder まず <code>INCLUDES</code> フィルタで処理し、さらに <code>DEFLATE</code> フィルタにかけます。</p>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder <Location /cgi-bin/><br />
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer Options Includes<br />
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder </Location>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder <p><directive>AddOutputFilterByType</directive> ディレクティブにより
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder 有効にしたフィルタは場合によっては、部分的もしくは完全に適用されないことが
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder あります。例えば、<glossary ref="mime-type">MIME タイプ</glossary> が決定できないときには
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder <directive module="core">DefaultType</directive> の設定が同じだったとしても、
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder <directive module="core">DefaultType</directive> 設定を使うようになります。</p>
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer <p>しかし、確実にフィルタが適用されるようにしたいときは、リソースに
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer 明示的にコンテントタイプを割り当てることができます。これには例えば
788bd3c33ec5aaeb90a1932c341ff837116410cfThiemo Wiedemeyer <directive module="mod_mime">AddType</directive> ディレクティブや
788bd3c33ec5aaeb90a1932c341ff837116410cfThiemo Wiedemeyer <directive module="core">ForceType</directive> ディレクティブを使います。
788bd3c33ec5aaeb90a1932c341ff837116410cfThiemo Wiedemeyer (nphでない) CGI スクリプトでコンテントタイプを設定するというものでも
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer<seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder<seealso><directive module="core">SetOutputFilter</directive></seealso>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder<seealso><a href="/filter.html">フィルタ</a></seealso>
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer</directivesynopsis>
84ba39232a012abf2085c8a421ebce6abc52d56eThiemo Wiedemeyer<directivesynopsis>
84ba39232a012abf2085c8a421ebce6abc52d56eThiemo Wiedemeyer<description>URL 中の符号化されたパス分離文字が先に伝えられるのを許可するかどうかを
1ac36418f204bbe56f4cd951a979180721758999Christian Maeder決定する</description>
370e81d7af7821f0ac6ee0643613e87a727841e7Thiemo Wiedemeyer<syntax>AllowEncodedSlashes On|Off</syntax>
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer<contextlist><context>server config</context><context>virtual host</context>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder</contextlist>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder<compatibility>Apache 2.0.46 以降で使用可能</compatibility>
1a389234e68da7c3d087b038307ed8c66fc6dc32Thiemo Wiedemeyer <p><directive>AllowEncodedSlashes</directive> ディレクティブは符号化された
1a389234e68da7c3d087b038307ed8c66fc6dc32Thiemo Wiedemeyer パス分離文字 (<code>/</code> は <code>%2F</code>、さらにシステムによっては
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer <code>\</code> に対応する <code>%5C</code>) が存在する URL の使用を
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer 許可するかどうかを決定します。通常はそのような URL は 404 (Not found) エラー
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu <p><directive>AllowEncodedSlashes</directive> <code>On</code> による
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu 使うときに一番役に立ちます。</p>
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu 意味<em>しません</em>。<code>%2F</code> や (関係するシステムでの)
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu <code>%5C</code> は、他の部分が復号された URL の中でもそのままの形式で
8836fa284a241af325aa6f41234b5130b26ec4f9Thiemo Wiedemeyer<seealso><directive module="core">AcceptPathInfo</directive></seealso>
8836fa284a241af325aa6f41234b5130b26ec4f9Thiemo Wiedemeyer</directivesynopsis>
8836fa284a241af325aa6f41234b5130b26ec4f9Thiemo Wiedemeyer<directivesynopsis>
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer<description><code>.htaccess</code> で許可されるディレクティブの種類</description>
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer<syntax>AllowOverride All|None|<var>directive-type</var>
a4e6fb26100f53e3b1e9f5b97c2e0a0c129294e5Christian Maeder<contextlist><context>directory</context></contextlist>
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer module="core">AccessFileName</directive> によって指定された)
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer <code>.htaccess</code> ファイルを見つけた時、そのファイルの中で
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer 宣言されたどのディレクティブがより前に定義された設定ディレクティブを
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer 上書きできるかを知る必要があります。</p>
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer <note><title><Directory> セクションでのみ使用可能</title>
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer <directive>AllowOverride</directive> は正規表現無しの<directive
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer type="section" module="core">Directory</directive>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer module="core">Location</directive> や <directive
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer module="core" type="section">DirectoryMatch</directive>
2a9702a373738717c83824512bd9389b5870fc92Christian Maeder module="core">Files</directive> セクションでは無効です。
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <p>このディレクティブを <code>None</code> に設定すると、<a href="#accessfilename">.htaccess</a> ファイルは完全に
f39c70229e74147a02d15bd45c05a0b1b325532dChristian Maeder この場合、サーバはファイルシステムの <code>.htaccess</code> ファイルを読むことを
d1066b8fb69179973dcab47154858d77e72760a7Thiemo Wiedemeyer <p>このディレクティブが <code>All</code> に設定されている時には、
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder href="directive-dict.html#Context">コンテキスト</a> を持つ
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer 全てのディレクティブが利用できます。</p>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <p><var>directive-type</var> には、以下のディレクティブ群の
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer キーワードのどれかを指定します。</p>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer 認証に関するディレクティブの使用を許可する (<directive
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer module="mod_authn_dbm">AuthDBMGroupFile</directive>,
8bdd8707c8e341f1fc57fcbf884520bfe06a5028Christian Maeder <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <directive module="mod_authn_core">AuthName</directive>,
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <directive module="mod_authn_core">AuthType</directive>, <directive
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer module="mod_authn_file">AuthUserFile</directive>, <directive
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer module="mod_authz_core">Require</directive> <em>など</em>)。</dd>
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer ドキュメントタイプを制御するためのディレクティブの使用を許可する (<directive
370e81d7af7821f0ac6ee0643613e87a727841e7Thiemo Wiedemeyer module="core">DefaultType</directive>, <directive
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer module="core">ErrorDocument</directive>, <directive
28ca54b0d63d1d26a991711c8c7e85c474994715Christian Maeder module="core">ForceType</directive>, <directive
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder module="mod_negotiation">LanguagePriority</directive>,
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <directive module="core">SetHandler</directive>, <directive
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer module="core">SetInputFilter</directive>, <directive
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer module="core">SetOutputFilter</directive>,
c5f9e2f0598f061c50c7f097add808c0ec7d1feaLoredana Mihaela Diaconu <module>mod_mime</module> の Add* と Remove*
c5f9e2f0598f061c50c7f097add808c0ec7d1feaLoredana Mihaela Diaconu ドキュメントのメタデータ (<directive
966a6c024c828387023fccb0cd0049f78687e5dcThiemo Wiedemeyer module="mod_headers">Header</directive>, <directive
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu module="mod_headers">RequestHeader</directive>, <directive
83263d411f611d9902ef4d98c93be6ad9361c833Christian Maeder module="mod_setenvif">SetEnvIf</directive>, <directive
1e3aca4178372af672efb237d16087c603fe5564Christian Maeder module="mod_setenvif">SetEnvIfNoCase</directive>, <directive
c40b7badd217089d8a256dabdf8f7d4e219ca215Thiemo Wiedemeyer module="mod_setenvif">BrowserMatch</directive>, <directive
c40b7badd217089d8a256dabdf8f7d4e219ca215Thiemo Wiedemeyer module="mod_usertrack">CookieExpires</directive>, <directive
966a6c024c828387023fccb0cd0049f78687e5dcThiemo Wiedemeyer module="mod_usertrack">CookieDomain</directive>, <directive
966a6c024c828387023fccb0cd0049f78687e5dcThiemo Wiedemeyer module="mod_usertrack">CookieStyle</directive>, <directive
79d103748927615310322af6f7806c7cef11a802Christian Maeder module="mod_usertrack">CookieTracking</directive>, <directive
c40b7badd217089d8a256dabdf8f7d4e219ca215Thiemo Wiedemeyer module="mod_usertrack">CookieName</directive>),
4eefbf3ad21b510729d5423d08de513b310e9cd0Loredana Mihaela Diaconu <module>mod_rewrite</module> のディレクティブ <directive
c40b7badd217089d8a256dabdf8f7d4e219ca215Thiemo Wiedemeyer module="mod_rewrite">RewriteEngine</directive>, <directive
4b136ad539bd9f4e115dff4eee4d552a42d4437eChristian Maeder module="mod_rewrite">RewriteOptions</directive>, <directive
83263d411f611d9902ef4d98c93be6ad9361c833Christian Maeder module="mod_rewrite">RewriteBase</directive>, <directive
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu module="mod_rewrite">RewriteCond</directive>, <directive
c5f9e2f0598f061c50c7f097add808c0ec7d1feaLoredana Mihaela Diaconu module="mod_rewrite">RewriteRule</directive>) と
83263d411f611d9902ef4d98c93be6ad9361c833Christian Maeder <directive module="mod_actions">Action</directive>
e49fd57c63845c7806860a9736ad09f6d44dbaedChristian Maeder ディレクトリインデックスを制御するためのディレクティブの使用を許可する
1ac36418f204bbe56f4cd951a979180721758999Christian Maeder module="mod_autoindex">AddDescription</directive>,
4b136ad539bd9f4e115dff4eee4d552a42d4437eChristian Maeder <directive module="mod_autoindex">AddIcon</directive>, <directive
c40b7badd217089d8a256dabdf8f7d4e219ca215Thiemo Wiedemeyer module="mod_autoindex">AddIconByEncoding</directive>,
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer <directive module="mod_autoindex">AddIconByType</directive>,
38122cbf09ad3dcc31a826cc4093f630515a5cfcChristian Maeder <directive module="mod_autoindex">DefaultIcon</directive>, <directive
38122cbf09ad3dcc31a826cc4093f630515a5cfcChristian Maeder module="mod_dir">DirectoryIndex</directive>, <directive
38122cbf09ad3dcc31a826cc4093f630515a5cfcChristian Maeder module="mod_autoindex">FancyIndexing</directive>, <directive
38122cbf09ad3dcc31a826cc4093f630515a5cfcChristian Maeder module="mod_autoindex">HeaderName</directive>, <directive
38122cbf09ad3dcc31a826cc4093f630515a5cfcChristian Maeder module="mod_autoindex">IndexIgnore</directive>, <directive
521045d36343cd17dd217a81d4b9422ad6ab6a07Christian Maeder module="mod_autoindex">IndexOptions</directive>, <directive
3587928ae948e8505f5af052dd4dc7cd97b6638eChristian Maeder module="mod_autoindex">ReadmeName</directive>
32d98ca5e560cf6c1062a0463be4c350af32bed5Thiemo Wiedemeyer ホストへのアクセス制御を行うためのディレクティブの使用を許可する (<directive
66b035879accdc5f8337726173f800286a87fd78Christian Maeder module="mod_authz_host">Allow</directive>, <directive
1ac36418f204bbe56f4cd951a979180721758999Christian Maeder module="mod_authz_host">Deny</directive>, <directive
1ac36418f204bbe56f4cd951a979180721758999Christian Maeder module="mod_authz_host">Order</directive>).</dd>
83263d411f611d9902ef4d98c93be6ad9361c833Christian Maeder 特定のディレクトリにおける機能を指定するためのディレクティブの使用を許可する
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer (<directive module="core">Options</directive> と
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <directive module="mod_include">XBitHack</directive>)。
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <directive module="core">Options</directive> で設定するオプション
1937dccb04b363364f7a7de17fdaae1d70583af9Christian Maeder を、(空白を含めない) コンマ区切りのリストにして等号の後に続けることで
cc31ad5864570db2fc7b2cb3e04810c8727d145aChristian Maeder AllowOverride AuthConfig Indexes
cc31ad5864570db2fc7b2cb3e04810c8727d145aChristian Maeder <p>上の例では <code>AuthConfig</code> と <code>Indexes</code> のどちらにも
cc31ad5864570db2fc7b2cb3e04810c8727d145aChristian Maeder 属さないディレクティブはすべて内部サーバエラーを引き起こします。</p>
83263d411f611d9902ef4d98c93be6ad9361c833Christian Maeder<seealso><directive module="core">AccessFileName</directive></seealso>
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer<seealso><a href="/configuring.html">設定ファイル</a></seealso>
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer<seealso><a href="/howto/htaccess.html">.htaccess ファイル</a></seealso>
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer</directivesynopsis>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer<directivesynopsis>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer<description>CGI スクリプトのインタープリタの位置を調べるための手法</description>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer<syntax>CGIMapExtension <var>cgi-path</var> <var>.extension</var></syntax>
1937dccb04b363364f7a7de17fdaae1d70583af9Christian Maeder<contextlist><context>directory</context><context>.htaccess</context>
c1d06b3018b34ede2b3fb6c7fe2ad28cd5ce5b68Christian Maeder</contextlist>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <p>このディレクティブは Apache が CGI スクリプトを実行するための
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer インタープリタを探す方法を制御します。
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer 例えば、<code>CGIMapExtension sys:\foo.nlm .foo</code> と設定すると
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder <code>.foo</code> という拡張子のすべての CGI スクリプトは FOO インタープリタに
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer</directivesynopsis>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer<directivesynopsis>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer<description><code>Content-MD5</code> HTTP 応答ヘッダの生成を有効にする</description>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer<contextlist><context>server config</context><context>virtual host</context>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer<context>directory</context><context>.htaccess</context>
1937dccb04b363364f7a7de17fdaae1d70583af9Christian Maeder <p>このディレクティブは、RFC1864 及び RFC2616 において定義されている
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer <code>Content-MD5</code> ヘッダーの生成を有効にします。</p>
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer <p>MD5 は、任意長のデータの「メッセージダイジェスト」(「指紋」
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer と表現されることもある) を計算するアルゴリズムで、
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer データの変更があった場合には非常に高い信頼度でメッセージダイジェストに変更が
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <p><code>Content-MD5</code> ヘッダは、エンドツーエンドで
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer エンティティボディーに含まれるメッセージの完全性チェック
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer (Message Integrity Check - MIC)を提供します。
a7e5c17a679fa2dae5998cd04c7e9e06c05c8164Christian Maeder このヘッダを調べることで、プロキシやクライアントは、
c1d06b3018b34ede2b3fb6c7fe2ad28cd5ce5b68Christian Maeder 途中経路におけるエンティティボディの予期せぬ変更などを
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer 検出することができます。ヘッダの例:</p>
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
c41a1c38edbd787d8fd12b9b5f11b73a37dafe0fChristian Maeder <p>リクエスト毎にメッセージダイジェストを計算する (値はキャッシュされません)
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer サーバパフォーマンスが低下することについて注意してください。</p>
260bfc3b7dc8ed037b7d98ee044302415db6fcd7Christian Maeder <p><code>Content-MD5</code >は、<module>core</module> 機能により処理された
c41a1c38edbd787d8fd12b9b5f11b73a37dafe0fChristian Maeder ドキュメントを送るときのみ有効であり、
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer SSI ドキュメントや CGI スクリプトの出力、バイトレンジを指定した
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer 応答の場合にはこのヘッダは付与されません。
dbd5da92be2bc4a8afcaa21980a5f59831037171Thiemo Wiedemeyer</directivesynopsis>
eb600800c6f539148144444c14bf6354b6eaf0ceChristian Maeder<directivesynopsis>
9cfd9e8213e51ea282e68509183fb023aba59491Simon Ulbricht<description>サーバがコンテントタイプを決定できないときに
9cfd9e8213e51ea282e68509183fb023aba59491Simon Ulbricht送られる MIME コンテントタイプ</description>
9cfd9e8213e51ea282e68509183fb023aba59491Simon Ulbricht<syntax>DefaultType <var>MIME-type|none</var></syntax>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer<contextlist><context>server config</context><context>virtual host</context>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer<context>directory</context><context>.htaccess</context>
9cfd9e8213e51ea282e68509183fb023aba59491Simon Ulbricht</contextlist>
9cfd9e8213e51ea282e68509183fb023aba59491Simon Ulbricht<compatibility>引数 <code>none</code> は Apache 2.2.7 以降で利用可能</compatibility>
cc31ad5864570db2fc7b2cb3e04810c8727d145aChristian Maeder <p>サーバは、<glossary ref="mime-type">MIME タイプ</glossary>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer のマップからは決定できないドキュメントの送信を要求されることがあります。</p>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <p>サーバは、ドキュメントのコンテントタイプをクライアントに通知するべきです。
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer サーバで通常の方法ではこれが判定できない場合は、
9cfd9e8213e51ea282e68509183fb023aba59491Simon Ulbricht <p>これは <code>.gif</code> という拡張子がファイル名に含まれていない
9cfd9e8213e51ea282e68509183fb023aba59491Simon Ulbricht 多くの GIF 画像が含まれているディレクトリに適しているでしょう。</p>
9cfd9e8213e51ea282e68509183fb023aba59491Simon Ulbricht <p>サーバでも管理者でも判定することができない (例えばプロクシの) 場合、
9cfd9e8213e51ea282e68509183fb023aba59491Simon Ulbricht 誤った情報を与えるよりは MIME タイプの指定がない状態が望ましいことも
9cfd9e8213e51ea282e68509183fb023aba59491Simon Ulbricht あります。この場合は次のようにします :</p>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer DefaultType None
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <p><code>DefaultType None</code> は httpd-2.2.7
0cdeccb66730b876f73bddd2705ddc62e180320dThiemo Wiedemeyer 以降でのみ利用できます。</p>
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer <p><directive module="core">ForceType</directive> ディレクティブと
0cdeccb66730b876f73bddd2705ddc62e180320dThiemo Wiedemeyer 違って、このディレクティブはデフォルトの MIME タイプを提供するだけで
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer あることに注意してください。ファイル名の拡張子を含め、
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer メディアタイプを決定できる他の MIME タイプの定義があれば
f7b9d64160c23654b7288a3b0ee3e2b95af3e752Thiemo Wiedemeyer このデフォルトは上書きされます。</p>
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer</directivesynopsis>
95cb954c00f873306bf1a60b62d3209d3cff4102Christian Maeder<directivesynopsis>
0cdeccb66730b876f73bddd2705ddc62e180320dThiemo Wiedemeyer<syntax>Define <var>parameter-name</var></syntax>
0cdeccb66730b876f73bddd2705ddc62e180320dThiemo Wiedemeyer<contextlist><context>server config</context></contextlist>
56f49c2883b1da5b18c57ca94457b2c4757a28d3Markus Gross 引数と同じものです。</p>
56f49c2883b1da5b18c57ca94457b2c4757a28d3Markus Gross <p>このディレクティブを使うと、スタートアップスクリプトに
039763ad866bb92d1818e09d1e5a0491af5af3d9Christian Maeder <directive module="core" type="section">IfDefine</directive>
039763ad866bb92d1818e09d1e5a0491af5af3d9Christian Maeder セクションを切り替えることができます。</p>
039763ad866bb92d1818e09d1e5a0491af5af3d9Christian Maeder</directivesynopsis>
0cdeccb66730b876f73bddd2705ddc62e180320dThiemo Wiedemeyer<description>指定のファイルシステムのディレクトリとサブディレクトリとのみに
0cdeccb66730b876f73bddd2705ddc62e180320dThiemo Wiedemeyer適用されるディレクティブを囲む</description>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder<syntax><Directory <var>directory-path</var>>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder... </Directory></syntax>
9a9860760c6f30558e5e60049692b6fc63904590Markus Gross<contextlist><context>server config</context><context>virtual host</context>
9a9860760c6f30558e5e60049692b6fc63904590Markus Gross</contextlist>
9a9860760c6f30558e5e60049692b6fc63904590Markus Gross <p>指定されたディレクトリとそのサブディレクトリにのみ
9a9860760c6f30558e5e60049692b6fc63904590Markus Gross ディレクティブを適用させるためには、
92d79cd0ad22cf74b345e1381d806ffc364d9ea1Thiemo Wiedemeyer <directive type="section">Directory</directive> と
92d79cd0ad22cf74b345e1381d806ffc364d9ea1Thiemo Wiedemeyer <code></Directory></code> を対として、ディレクティブ群を囲います。
92d79cd0ad22cf74b345e1381d806ffc364d9ea1Thiemo Wiedemeyer その中には、ディレクトリコンテキストで許可された全てのディレクティブを
92d79cd0ad22cf74b345e1381d806ffc364d9ea1Thiemo Wiedemeyer <var>directive-path</var> は、フルパスもしくは Unix のシェル形式の
92d79cd0ad22cf74b345e1381d806ffc364d9ea1Thiemo Wiedemeyer ワイルドカードを指定します。
92d79cd0ad22cf74b345e1381d806ffc364d9ea1Thiemo Wiedemeyer <code>?</code> は任意の 1 文字、<code>*</code> は任意の文字列にマッチします。
92d79cd0ad22cf74b345e1381d806ffc364d9ea1Thiemo Wiedemeyer ワイルドカードは `/' 文字にはマッチしませんので、
92d79cd0ad22cf74b345e1381d806ffc364d9ea1Thiemo Wiedemeyer <code><Directory /*/public_html></code> はマッチしませんが、
92d79cd0ad22cf74b345e1381d806ffc364d9ea1Thiemo Wiedemeyer <code><Directory /home/*/public_html></code> はマッチします。
eb600800c6f539148144444c14bf6354b6eaf0ceChristian Maeder <Directory /usr/local/httpd/htdocs><br />
8618f6dc90d5392c661114468b47c71e4ae4e9beChristian Maeder Options Indexes FollowSymLinks<br />
8618f6dc90d5392c661114468b47c71e4ae4e9beChristian Maeder </Directory>
521045d36343cd17dd217a81d4b9422ad6ab6a07Christian Maeder <p><var>directory-path</var> 引数には注意してください: その引数は
521045d36343cd17dd217a81d4b9422ad6ab6a07Christian Maeder Apache がファイルをアクセスするために使うファイルシステムのパスに
888fefaddbeb8d75a861b1d689b191b44d1853e1Thiemo Wiedemeyer そのままマッチする必要があります。ある <code><Directory></code> に
9b01b265715d725c17d51619d297bbb97f37d1b5Thiemo Wiedemeyer 適用されるディレクティブは、別のシンボリックリンクをたどったりして
8618f6dc90d5392c661114468b47c71e4ae4e9beChristian Maeder 同じディレクトリを違うパスでアクセスした場合には適用されません。</p>
8618f6dc90d5392c661114468b47c71e4ae4e9beChristian Maeder 付加することで<glossary ref="regex">正規表現</glossary>を利用することもできます。
8618f6dc90d5392c661114468b47c71e4ae4e9beChristian Maeder <Directory ~ "^/www/.*/[0-9]{3}">
8618f6dc90d5392c661114468b47c71e4ae4e9beChristian Maeder 3 文字のディレクトリにマッチします。</p>
611c5a1783d95809487402fc94cb466aa4c7f300Markus Gross >Directory</directive>セクションが
8618f6dc90d5392c661114468b47c71e4ae4e9beChristian Maeder ドキュメントを含むディレクトリ (やその上位ディレクトリのどれか) とマッチしたならば、
8618f6dc90d5392c661114468b47c71e4ae4e9beChristian Maeder href="#accessfilename">.htaccess</a> ファイルのディレクティブも読み込みつつ、
8618f6dc90d5392c661114468b47c71e4ae4e9beChristian Maeder 短いパスから順に適用されます。
8618f6dc90d5392c661114468b47c71e4ae4e9beChristian Maeder <Directory /><br />
d7aa4e1cbe00f7f3add4da911673b3b176b140c3Thiemo Wiedemeyer AllowOverride None<br />
f456529a89bfb620d39e5fd5b0a53b24643db96dDominik Luecke </Directory><br />
8bdd8707c8e341f1fc57fcbf884520bfe06a5028Christian Maeder <Directory /home/><br />
8bdd8707c8e341f1fc57fcbf884520bfe06a5028Christian Maeder AllowOverride FileInfo<br />
8bdd8707c8e341f1fc57fcbf884520bfe06a5028Christian Maeder </Directory>
8bdd8707c8e341f1fc57fcbf884520bfe06a5028Christian Maeder <p>と設定し、ドキュメント <code>/home/web/dir/doc.html</code> への
8bdd8707c8e341f1fc57fcbf884520bfe06a5028Christian Maeder アクセスがあった場合には以下のように動作します:</p>
8bdd8707c8e341f1fc57fcbf884520bfe06a5028Christian Maeder <li><code>AllowOverride None</code> が適用される。
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer <li><code>AllowOverride FileInfo</code> が適用される
a4e6fb26100f53e3b1e9f5b97c2e0a0c129294e5Christian Maeder <li><code>/home/.htaccess</code>, <code>/home/web/.htaccess</code>,
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu <code>/home/web/dir/.htaccess</code> の順にそれらのファイル中の
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu FileInfo ディレクティブが適用される。</li>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder <p>正規表現は、通常のセクションがすべて適用されるまで
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu その後、全ての正規表現が設定ファイルに現れた順で試されます。
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu 例えば、以下のような場合に</p>
f059d29e63508be7316ac161428eee7fc804736eChristian Maeder <Directory ~ abc$><br />
53e76316f409f6b1b57ed3d2e5cb9cfe1cb511e5Thiemo Wiedemeyer # ... directives here ...<br />
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer </Directory>
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer その後で、正規表現は <code>/home/abc/public_html/abc</code> にマッチし、
1e3aca4178372af672efb237d16087c603fe5564Christian Maeder 対応する <directive type="section">Directory</directive> が適用されます。</p>
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer <p><strong>Apache のデフォルトでは <code><Directory /></code> へのアクセスは
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer <code>Allow from All</code> になっていることに注意してください。
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer これは、URL からマップされたどのファイルでも Apache は送るということです。
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer <Directory /><br />
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer Order Deny,Allow<br />
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer Deny from All<br />
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer </Directory>
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer <p><strong>そしてアクセスを<em>可能にしたい</em>ディレクトリに対して
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer 個別に設定すればよいでしょう。
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer href="/misc/security_tips.html">セキュリティに関するコツ</a>を
1e3aca4178372af672efb237d16087c603fe5564Christian Maeder <p>ディレクトリセクションは <code>httpd.conf</code> ファイルに書きます。
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer <directive type="section">Directory</directive>
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer ディレクティブは入れ子にすることができず、
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer <directive module="core" type="section">Limit</directive> や <directive
b021998bf955c87c7cdcc69f0667dc2880b3ce1fThiemo Wiedemeyer module="core" type="section">LimitExcept</directive> セクションの中にも
c7e03d0708369f944b6f235057b39142a21599f2Mihai Codescu<seealso>リクエストを受けた際にこれらの異なるセクションが
84ba39232a012abf2085c8a421ebce6abc52d56eThiemo Wiedemeyer <Directory>, <Location>, <Files> セクションの動作法</a></seealso>
84ba39232a012abf2085c8a421ebce6abc52d56eThiemo Wiedemeyer</directivesynopsis>
a4e6fb26100f53e3b1e9f5b97c2e0a0c129294e5Christian Maeder<description>正規表現にマッチするファイルシステムのディレクトリと
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanuサブディレクトリとのみに適用されるディレクティブを囲む</description>
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer<syntax><DirectoryMatch <var>regex</var>>
a79266feb130561fa1a95ae0429d0574f625f6ceChristian Maeder... </DirectoryMatch></syntax>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder<contextlist><context>server config</context><context>virtual host</context>
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer <p><directive module="core" type="section">Directory</directive>
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer ディレクティブと同様に、<directive type="section">DirectoryMatch</directive>
93eeaffa1087fc6eae3f19b8ca5affb7802799fdThiemo Wiedemeyer と <code></DirectoryMatch></code> は指定されたディレクトリと
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer そのサブディレクトリにのみ適用されるディレクティブ群を囲います。
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer しかし、このディレクティブは引数として<glossary
84ba39232a012abf2085c8a421ebce6abc52d56eThiemo Wiedemeyer <DirectoryMatch "^/www/(.+/)?[0-9]{3}">
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder <p>は <code>/www/</code> 以下にある数字 3 文字のディレクトリにマッチします。</p>
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu<seealso>通常の <directive type="section">Directory</directive> と正規表現の指定が
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder<seealso>リクエストを受けた際にこれらの異なるセクションが
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder <Directory>, <Location>, <Files> セクションの動作法</a></seealso>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder</directivesynopsis>
32d98ca5e560cf6c1062a0463be4c350af32bed5Thiemo Wiedemeyer<directivesynopsis>
7ae38566aaf40710cd83ffa3ba25655c4ad22741Thiemo Wiedemeyer<description>ウェブから見えるメインのドキュメントツリーになる
7ae38566aaf40710cd83ffa3ba25655c4ad22741Thiemo Wiedemeyerディレクトリ</description>
84ba39232a012abf2085c8a421ebce6abc52d56eThiemo Wiedemeyer<syntax>DocumentRoot <var>directory-path</var></syntax>
84ba39232a012abf2085c8a421ebce6abc52d56eThiemo Wiedemeyer<default>DocumentRoot /usr/local/apache/htdocs</default>
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer<contextlist><context>server config</context><context>virtual host</context>
84ba39232a012abf2085c8a421ebce6abc52d56eThiemo Wiedemeyer がファイルを提供するディレクトリを設定します。
7ae38566aaf40710cd83ffa3ba25655c4ad22741Thiemo Wiedemeyer <directive module="mod_alias">Alias</directive> のようなディレクティブにマッチしない場合には、
7ae38566aaf40710cd83ffa3ba25655c4ad22741Thiemo Wiedemeyer ドキュメントの (訳注:ファイルシステム上の) パスを生成するために、
7ae38566aaf40710cd83ffa3ba25655c4ad22741Thiemo Wiedemeyer リクエストされた URL のパス部分をドキュメントルートに付与します。
7ae38566aaf40710cd83ffa3ba25655c4ad22741Thiemo Wiedemeyer <code>http://www.my.host.com/index.html</code> へのアクセスがあれば
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer <directive module="core">ServerRoot</directive>
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder からの相対パスとみなされます。</p>
a4e6fb26100f53e3b1e9f5b97c2e0a0c129294e5Christian Maeder <p><directive>DocumentRoot</directive> は最後のスラッシュ無しで
71654489020a03cf6ce9f2947f3da26a996f9c32Razvan Pascanu 指定する必要があります。</p>
44c1fff98bd6c54db237bef5030657d3f47058a5Thiemo Wiedemeyer<seealso><a href="/urlmapping.html#documentroot">URL をファイルシステムの位置に
1ac36418f204bbe56f4cd951a979180721758999Christian Maeder</directivesynopsis>
1ac36418f204bbe56f4cd951a979180721758999Christian Maeder<directivesynopsis>
1ac36418f204bbe56f4cd951a979180721758999Christian Maeder<description>配送中にファイルを読み込むためにメモリマッピングを
32d98ca5e560cf6c1062a0463be4c350af32bed5Thiemo Wiedemeyer使うかどうか</description>
7ae38566aaf40710cd83ffa3ba25655c4ad22741Thiemo Wiedemeyer<contextlist><context>server config</context><context>virtual host</context>
84ba39232a012abf2085c8a421ebce6abc52d56eThiemo Wiedemeyer<context>directory</context><context>.htaccess</context>
84ba39232a012abf2085c8a421ebce6abc52d56eThiemo Wiedemeyer <p>このディレクティブは配送中にファイルの内容を読み込む必要があるときに
84ba39232a012abf2085c8a421ebce6abc52d56eThiemo Wiedemeyer <program>httpd</program> がメモリマッピングを使うかどうかを制御します。
7ae38566aaf40710cd83ffa3ba25655c4ad22741Thiemo Wiedemeyer 例えば、<module>mod_include</module> を使って SSI ファイルを配送
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder するときのように、ファイルの途中のデータをアクセスする必要があるときには
1ac36418f204bbe56f4cd951a979180721758999Christian Maeder Apache は OS がサポートしていればファイルをメモリにマップします。</p>
8f5219469b89a15dc6d4c2c30463775975f5841cRazvan Pascanu このメモリマップは性能の向上を持たらすことがあります。
239991d3955da0cfb760af4d506069446e1676b7Christian Maeder しかし、環境によっては運用上の問題を防ぐためにメモリマッピングを
1ac36418f204bbe56f4cd951a979180721758999Christian Maeder 使用しないようにした方が良い場合もあります:</p>
66fd8f017efdb8a6c862c3f1856dfaef90865dd5Thiemo Wiedemeyer <li>マルチプロセッサシステムの中にはメモリマッピングをすると
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer <program>httpd</program> の性能が落ちるものがあります。</li>
ea76e25262c3325f293fbdd6560f180ca18f9be4Thiemo Wiedemeyer <li>NFS マウントされた <directive module="core">DocumentRoot</directive>
f5b31c8df89d0c8898cfabe0bd6c671e8285c0f1Christian Maeder では、<program>httpd</program> がメモリマップしている間にファイルが削除されたり
79d103748927615310322af6f7806c7cef11a802Christian Maeder 短くなったりしたときに起こるセグメンテーションフォールトのために
ただし、<code>#include virtual</code> により、<directive module="mod_alias">ScriptAlias</directive> されたディレクトリで
<syntax>ServerName [<var>scheme</var>://]<var>fully-qualified-domain-name</var>[:<var>port</var>]</syntax>
ServerName www.example.com:80
href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">この話題の