htaccess.xml.ja revision d040a1d5a5cec3210f4c9bcc48ad1f6acad51cbd
af84459fbf938e508fd10b01cb8d699c79083813takashi<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
af84459fbf938e508fd10b01cb8d699c79083813takashi<!-- English Revision: 574882:1666025 (outdated) -->
af84459fbf938e508fd10b01cb8d699c79083813takashi Licensed to the Apache Software Foundation (ASF) under one or more
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen contributor license agreements. See the NOTICE file distributed with
af84459fbf938e508fd10b01cb8d699c79083813takashi this work for additional information regarding copyright ownership.
af84459fbf938e508fd10b01cb8d699c79083813takashi The ASF licenses this file to You under the Apache License, Version 2.0
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen (the "License"); you may not use this file except in compliance with
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen the License. You may obtain a copy of the License at
af84459fbf938e508fd10b01cb8d699c79083813takashi Unless required by applicable law or agreed to in writing, software
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen distributed under the License is distributed on an "AS IS" BASIS,
3f08db06526d6901aa08c110b5bc7dde6bc39905nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
af84459fbf938e508fd10b01cb8d699c79083813takashi See the License for the specific language governing permissions and
af84459fbf938e508fd10b01cb8d699c79083813takashi limitations under the License.
af84459fbf938e508fd10b01cb8d699c79083813takashi<parentdocument href="./">How-To / チュートリアル</parentdocument>
2d39a41e98476f5235b7c37ce745a4aa0904b1cbrbowen <modulelist>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe </modulelist>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <directivelist>
af84459fbf938e508fd10b01cb8d699c79083813takashi <directive module="mod_authn_core">AuthType</directive>
af84459fbf938e508fd10b01cb8d699c79083813takashi <directive module="mod_authn_core">AuthName</directive>
af84459fbf938e508fd10b01cb8d699c79083813takashi <directive module="mod_authn_file">AuthUserFile</directive>
af84459fbf938e508fd10b01cb8d699c79083813takashi <directive module="mod_authz_groupfile">AuthGroupFile</directive>
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen <directive module="mod_authz_core">Require</directive>
af84459fbf938e508fd10b01cb8d699c79083813takashi </directivelist>
af84459fbf938e508fd10b01cb8d699c79083813takashi ディレクトリ毎に設定を変更する方法を提供します。ディレクティブの
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 書かれたファイルをディレクトリに置くことで、そのディレクトリとその
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe サブディレクトリすべてにディレクティブを適用させることができます。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <directive module="core">AccessFileName</directive> ディレクティブを
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe という名前にしたい場合は、以下の設定をサーバ設定ファイルに入れることが
78f97ce162b66a0dbfd7af4dcd9984f162569b04minfrin AccessFileName .config
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe と同じです。これらのファイルに書くことのできるディレクティブは <directive
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe module="core">AllowOverride</directive> ディレクティブにより決まります。
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen 書かれたディレクティブの中で、、
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen どのディレクティブが適用されるかをカテゴリー単位で指定します。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 説明文書には「上書き」という項目があり、.htaccess に書くことができるように
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe なるための <directive
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe module="core">AllowOverride</directive> の値が指定されています。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe わかります。 (ディレクティブの概要の所にある「コンテキスト」と書かれている
4bebf996eb7002ebfe897d46a0e0572390604a77nd 行を見てください。) <a
9534272616b71aaea50aeec4162e749a96aebd7fsf href="/mod/directive-dict.html#Context">上書き</a>と書かれている行には
4bebf996eb7002ebfe897d46a0e0572390604a77nd <code>FileInfo</code> とあります。ですから、<code>.htaccess</code> 中の
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe このディレクティブが有効になるためには、少なくとも
af84459fbf938e508fd10b01cb8d699c79083813takashi <code>AllowOverride FileInfo</code> が設定されている必要があります。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe href="/mod/directive-dict.html#Context">コンテキスト:</a></td>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe href="/mod/directive-dict.html#Override">上書き:</a></td>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe どうかわからないときは、そのディレクティブの説明を探して、".htaccess"
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe のための「コンテキスト」の行を調べてください。</p>
57c845e03570b3641fbf41d4f139e2a9b49e406and <section id="when"><title>いつ .htaccess ファイルを使う(使わない)か。</title>
57c845e03570b3641fbf41d4f139e2a9b49e406and <p>一般的に、サーバの主設定ファイルにアクセスできない場合を除いて、
4b311579b2c8aebac85fb7cb8ac89e6c37b4bc1asf 行なわなければならない、という誤解が広まっていますが、まったくそんなことは
57c845e03570b3641fbf41d4f139e2a9b49e406and ありません。ユーザ認証の設定はサーバ主設定ファイルに書くことができ、
7e9d90004f580231e0376880710dc25408950ab9rbowen 実際、その方がより良い設定方法です。</p>
7e9d90004f580231e0376880710dc25408950ab9rbowen 設定を行ないたいけれど、サーバシステムの root アクセス権限を持っていない
7e9d90004f580231e0376880710dc25408950ab9rbowen という場合にのみ使うべきものです。サーバ管理者が頻繁に設定変更を行ないたくは
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 自分で設定の変更を行なうことを許可した方が良いときもあるでしょう。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe これは特に、ISP が複数のユーザのサイトを一つのマシンでホストしていて、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 各ユーザが設定の変更をできるようにしたいようなときにあてはまります。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe type="section">Directory</directive> セクションで同じように行なうことが
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh ファイルは文書がリクエストされる度に読み込まれます。</p>
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh <p>さらに、Apache は適用すべきディレクティブを集めるために、すべての
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh 上位のディレクトリの <code>.htaccess</code> ファイルを探す必要があることにも
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh 参照してください。)ですから、<code>/www/htdocs/example</code> にある
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe ファイルがリクエストされたときは、Apache は以下のファイルを調べます。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe /.htaccess<br />
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh <p>ですから、そのディレクトリのそれぞれのファイルへのアクセスに対して、
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh 上の例のファイルがまったく存在しないときでも、追加のファイルシステムの
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh いないことに注意してください。)</p>
f039cf01b271a31e317d5b84f24cb135f1c1b6d7nd <p>二つ目はセキュリティです。ユーザにサーバの設定を変更することを
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 許可することになりますので、あなた自身が管理できない変更をされる
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 恐れがあります。ユーザにこの特権を与えるのが良いのかどうか、十分
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh 検討してください。また、ユーザに与える権限が必要なものよりも少なすぎると、
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh 余分な技術サポート報告を受け取るようになる可能性が高いことにも
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh 注意してください。確実に、ユーザにどの程度の権限を与えたか明確に告げるように
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh してください。<directive module="core">AllowOverride</directive> に
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh 何を設定したかということと、関連する文書を示すことで、
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh 後々の混乱をぐっと減らすことが
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh <code>/www/htdocs/example</code> に置くことと、同じディレクティブを
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 主サーバ設定の Directory セクション
af84459fbf938e508fd10b01cb8d699c79083813takashi <code><Directory /www/htdocs/example></code> に書くことは
af84459fbf938e508fd10b01cb8d699c79083813takashi 完全に等価です:</p>
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen <p><code>/www/htdocs/example</code> の <code>.htaccess</code> ファイル:</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <example><title><code>/www/htdocs/example</code> の .htaccess ファイルの
c8c717fafa0a09ed13469a603a178921b851dd22igalic file</title>
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic </Directory>
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic <p>しかし、この設定はサーバ設定ファイルに書いた方がパフォーマンスの
b7f8d802ecaed65eada1fc31472d06d8460d5528igalic 低下が少なくなります。ファイルがリクエストされる度に
7c7e501f542451bf7225b23cb299ee4228bfe15dgryzor 読み込まれる代わりに、Apache の起動時に 1 回だけ読み込めば
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe よくなるからです。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p><directive module="core">AllowOverride</directive> ディレクティブの
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 値を <code>none</code> に設定することで <code>.htaccess</code> ファイル
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe の使用を完全に無効にすることができます。</p>
acf65805923cf80834c39689cc0e2a8e7201c186sf AllowOverride None
acf65805923cf80834c39689cc0e2a8e7201c186sf </example>
4bebf996eb7002ebfe897d46a0e0572390604a77nd <p><code>.htaccess</code> ファイルの設定ディレクティブは <code>.htaccess</code>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe ファイルの存在するディレクトリと、そのサブディレクトリすべてに適用されます。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 存在するかもしれないことを覚えておくことは大切です。ディレクティブは現れる
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe より上の階層で書かれたディレクティブを上書きしたり、主サーバ設定ファイル
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe そのものの設定を上書きしたりしているかもしれません。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe Options +ExecCGI
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe ファイルで "<directive
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe "<code>AllowOverride Options</code>" を有効にする必要があります。)</p>
fed47023e9be04c612b5f6d4a5ee2b8e7c587181rbowen <p>ディレクトリ <code>/www/htdocs/example1/example2</code> には
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe Options Includes
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <code>/www/htdocs/example1/example2</code> では CGI の実行は
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 効力を持ち、それがすべての以前の設定を上書きするからです。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe .htaccess のマージ</title>
c8c717fafa0a09ed13469a603a178921b851dd22igalic <code>.htaccess</code> files can override the <directive
c8c717fafa0a09ed13469a603a178921b851dd22igalic type="section" module="core">Directory</directive> sections for
c8c717fafa0a09ed13469a603a178921b851dd22igalic the corresponding directory, but will be overriden by other types
8559a67073808d84d85bb5dd552d4247caafe709sf of configuration sections from the main configuration files. This
8559a67073808d84d85bb5dd552d4247caafe709sf fact can be used to enforce certain configurations, even in the
8559a67073808d84d85bb5dd552d4247caafe709sf presence of a liberal <directive
8559a67073808d84d85bb5dd552d4247caafe709sf module="core">AllowOverride</directive> setting. For example, to
8559a67073808d84d85bb5dd552d4247caafe709sf prevent script execution while allowing anything else to be set in
8559a67073808d84d85bb5dd552d4247caafe709sf <directive type="section" module="core">Directory</directive>
8559a67073808d84d85bb5dd552d4247caafe709sf セクションの設定をディレクトリ毎に上書きできますが、
8559a67073808d84d85bb5dd552d4247caafe709sf メイン設定ファイル中にある、他の種類の設定セクションによって
8559a67073808d84d85bb5dd552d4247caafe709sf さらに上書きされることもあります。
8559a67073808d84d85bb5dd552d4247caafe709sf で自由度の高い設定があったとしても、ある特定の設定が確実に
8559a67073808d84d85bb5dd552d4247caafe709sf 反映されるようにできます。例えば、CGI スクリプトの実行は
8559a67073808d84d85bb5dd552d4247caafe709sf 設定できるように、という場合は次のようにできます :</p>
a55680cd56cecad4f2d7d41b576aa63f0e008916rjung<Directory /><br />
8559a67073808d84d85bb5dd552d4247caafe709sfAllowoverride All<br />
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf</Directory><br />
4bebf996eb7002ebfe897d46a0e0572390604a77nd<Location /><br />
4bebf996eb7002ebfe897d46a0e0572390604a77ndOptions +IncludesNoExec -ExecCGI<br />
4bebf996eb7002ebfe897d46a0e0572390604a77nd</Location>
4bebf996eb7002ebfe897d46a0e0572390604a77nd </example>
65a611af7093423efb91e5794b8887a527d4cf63trawick <p>もし認証の方法を知るためにこの部分に直接来たのであれば、次のことを
65a611af7093423efb91e5794b8887a527d4cf63trawick 知っておくことが重要です。よくある誤解に、パスワード認証を行なうためには
65a611af7093423efb91e5794b8887a527d4cf63trawick これは正しくありません。主サーバ設定ファイルの <directive
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe module="core" type="section">Directory</directive> セクションに
af84459fbf938e508fd10b01cb8d699c79083813takashi ファイルは主サーバ設定ファイルを変更できないときにのみ使用すべきです。
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe まだ必要だと思う場合は、次のようなものが望みのことをしてくれるかも
8e9c6d6438af1ccb46adaa60d34caa3ac98f3851igalic AuthType Basic<br />
9534272616b71aaea50aeec4162e749a96aebd7fsf AuthName "Password Required"<br />
7159c12b7697fe9f5ab3a533cc6dfc3d57803053igalic Require Group admins
8e9c6d6438af1ccb46adaa60d34caa3ac98f3851igalic <p>これらのディレクティブが有効になるためには、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe 注意してください。</p>
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen 参照してください。</p>
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen 特定のディレクトリで SSI を有効にすることです。これは、望みのディレクトリの
1d45c1463a8bc69bab1c07a4729269ec7333e713rbowen 達成できます:</p>
4126704c4950bfd46d32ad54e3b106ac6d868a73sf Options +Includes<br />
4126704c4950bfd46d32ad54e3b106ac6d868a73sf AddHandler server-parsed shtml
4126704c4950bfd46d32ad54e3b106ac6d868a73sf </example>
4126704c4950bfd46d32ad54e3b106ac6d868a73sf <p>これらのディレクティブが有効になるためには、
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh <code>AllowOverride Options</code> と <code>AllowOverride
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh <p>よりまとまった SSI の説明は <a href="ssi.html">SSI チュートリアル</a>を
888cb40bdeec5abf452bd85d6bf63b26d5913d4chumbedooh 参照してください。</p>
a1ceb0cd0152edea3c72f4d9dcb352bae6ef273fjorton <p>最後に、特定のディレクトリで CGI プログラムの実行を許可したいことが
a1ceb0cd0152edea3c72f4d9dcb352bae6ef273fjorton あるでしょう。これは以下の設定で行なうことができます:</p>
a1ceb0cd0152edea3c72f4d9dcb352bae6ef273fjorton Options +ExecCGI<br />
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe AddHandler cgi-script cgi pl
af84459fbf938e508fd10b01cb8d699c79083813takashi <p>もしくは、あるディレクトリのすべてのファイルが CGI プログラムと
af84459fbf938e508fd10b01cb8d699c79083813takashi みなされるようにしたいなら、以下の設定で実現することができます:</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe Options +ExecCGI<br />
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe SetHandler cgi-script
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p>これらのディレクティブが有効になるためには、
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <code>AllowOverride Options</code> と <code>AllowOverride
c8c717fafa0a09ed13469a603a178921b851dd22igalic 期待した効果が得られないときには、いくつかの原因が考えられます。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p>一番よくあることは、設定ディレクティブが考慮されるようには
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <directive module="core">AllowOverride</directive> が設定されていない
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe が設定されていないことを確認してください。これを調べるための良い方法は、
c8c717fafa0a09ed13469a603a178921b851dd22igalic サーバのエラーが生成されないときは、ほぼ確実に <code>AllowOverride
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe <p>そうではなく、文書をアクセスしようとしたときにエラーが発生している
7ffcb32836c716e53b7f4b856ee16d9139b8d3bdsf 使用されたディレクティブが許可されていない、ということを知らせている
7ffcb32836c716e53b7f4b856ee16d9139b8d3bdsf 可能性が高いです。または、構文の間違いがあることを述べているかもしれません。
7ffcb32836c716e53b7f4b856ee16d9139b8d3bdsf その場合にはまずそれを修正する必要があります。</p>
cd34a6fbf0a2619544a72eadb73f309370bf6682wrowe</manualpage>