GCS Amplitude
GCS Amplitude

Apache チュートリアル: .htaccess ファイル

ディレクティブを 使って変更することができます。例えば、そのファイルを AccessFileName.config

ファイルの構文は 主設定ファイル と同じです。これらのファイルに書くことのできるディレクティブは

ディレクティブにより決まります。 このディレクティブは、AllowOverride.htaccess

ファイルに 書かれたディレクティブの中で、、 どのディレクティブが適用されるかをカテゴリー単位で指定します。 .htaccess

に書くことのできるディレクティブであれば、 説明文書には「上書き」という項目があり、.htaccess に書くことができるように なるための

ディレクティブの説明を 見ると、AddDefaultCharset.htaccess

ファイルでの使用が許可されていることが わかります。 (ディレクティブの概要の所にある「コンテキスト」と書かれている 行を見てください。) 上書きと書かれている行には FileInfo

中の このディレクティブが有効になるためには、少なくとも AllowOverride FileInfo

ファイルに書くことができるか どうかわからないときは、そのディレクティブの説明を探して、".htaccess" のための「コンテキスト」の行を調べてください。

ファイルはコンテンツ提供者がディレクトリ毎の 設定を行ないたいけれど、サーバシステムの root アクセス権限を持っていない という場合にのみ使うべきものです。サーバ管理者が頻繁に設定変更を行ないたくは ない、というときには個々のユーザが .htaccess

ファイルを使って 自分で設定の変更を行なうことを許可した方が良いときもあるでしょう。 これは特に、ISP が複数のユーザのサイトを一つのマシンでホストしていて、 各ユーザが設定の変更をできるようにしたいようなときにあてはまります。

ファイルの設定を許可している場合は、Apache は 各ディレクトリで .htaccess

ファイルを許可すると、実際に使用しているか どうかに関わらず、性能の低下を招くことになります! また、.htaccess

さらに、Apache は適用すべきディレクティブを集めるために、すべての 上位のディレクトリの .htaccess

ファイルを探す必要があることにも 注意してください。(ディレクティブが適用される方法を 参照してください。)ですから、/www/htdocs/example

にある ファイルがリクエストされたときは、Apache は以下のファイルを調べます。

ですから、そのディレクトリのそれぞれのファイルへのアクセスに対して、 上の例のファイルがまったく存在しないときでも、追加のファイルシステムの アクセスが行なわれることになります。(これは、.htaccess

に 何を設定したかということと、関連する文書を示すことで、 後々の混乱をぐっと減らすことが できます。AllowOverride

に置くことと、同じディレクティブを 主サーバ設定の Directory セクション

の .htaccess ファイルの 内容 AddType text/example .exm

しかし、この設定はサーバ設定ファイルに書いた方がパフォーマンスの 低下が少なくなります。ファイルがリクエストされる度に 読み込まれる代わりに、Apache の起動時に 1 回だけ読み込めば よくなるからです。

ディレクトリ /www/htdocs/example1

では CGI の実行は 許可されません。これは、Options Includes

As discussed in the documentation on Configuration Sections, .htaccess

files can override the

sections for the corresponding directory, but will be overriden by other types of configuration sections from the main configuration files. This fact can be used to enforce certain configurations, even in the presence of a liberal

setting. For example, to prevent script execution while allowing anything else to be set in AllowOverride.htaccess

セクションの設定をディレクトリ毎に上書きできますが、 メイン設定ファイル中にある、他の種類の設定セクションによって さらに上書きされることもあります。 この特徴を使って、

で自由度の高い設定があったとしても、ある特定の設定が確実に 反映されるようにできます。例えば、CGI スクリプトの実行は 不許可に、かつ、AllowOverride.htaccess

の使用が まだ必要だと思う場合は、次のようなものが望みのことをしてくれるかも しれません。

AuthUserFile /www/passwords/password.file

AuthGroupFile /www/passwords/group.file

AddHandler server-parsed shtml

よりまとまった SSI の説明は SSI チュートリアルを 参照してください。

もしくは、あるディレクトリのすべてのファイルが CGI プログラムと みなされるようにしたいなら、以下の設定で実現することができます:

CGI プログラムと設定のよりまとまった説明は CGI チュートリアルを参照してください。

が設定されていない というものです。該当のファイルのスコープに AllowOverrideAllowOverride None

ファイルにごみを書いて、リロードすることです。 サーバのエラーが生成されないときは、ほぼ確実に AllowOverride None

そうではなく、文書をアクセスしようとしたときにエラーが発生している ときは、Apache のエラーログを調べてください。.htaccess

ファイルで 使用されたディレクティブが許可されていない、ということを知らせている 可能性が高いです。または、構文の間違いがあることを述べているかもしれません。 その場合にはまずそれを修正する必要があります。

モジュール | ディレクティブ | FAQ | 用語 | サイトマップ

Apache HTTP サーバ バージョン 2.4

Apache チュートリアル: .htaccess ファイル

翻訳済み言語: en | fr | ja | ko | pt-br

.htaccess ファイル

.htaccess ファイルとは何か/その使い方

.htaccess ファイル (「分散設定ファイル」) は ディレクトリ毎に設定を変更する方法を提供します。ディレクティブの 書かれたファイルをディレクトリに置くことで、そのディレクトリとその サブディレクトリすべてにディレクティブを適用させることができます。

いつ .htaccess ファイルを使う(使わない)か。

一般的に、サーバの主設定ファイルにアクセスできない場合を除いて、 .htaccess ファイルの使用は極力避けてください。 世の中には、例えば、ユーザ認証は常に .htaccess ファイルで 行なわなければならない、という誤解が広まっていますが、まったくそんなことは ありません。ユーザ認証の設定はサーバ主設定ファイルに書くことができ、 実際、その方がより良い設定方法です。

ディレクティブの適用のされ方

.htaccess ファイルの設定ディレクティブは .htaccess ファイルの存在するディレクトリと、そのサブディレクトリすべてに適用されます。 しかし、上の階層のディレクトリにも .htaccess ファイルが 存在するかもしれないことを覚えておくことは大切です。ディレクティブは現れる 順番に適用されます。ですから、あるディレクトリの .htaccess は ディレクトリツリーのより上の階層の .htaccess ファイルの 設定を上書きするかもしれません。そして、その .htaccess も より上の階層で書かれたディレクティブを上書きしたり、主サーバ設定ファイル そのものの設定を上書

認証の例

もし認証の方法を知るためにこの部分に直接来たのであれば、次のことを 知っておくことが重要です。よくある誤解に、パスワード認証を行なうためには .htaccess ファイルを使う必要がある、というものがあります。 これは正しくありません。主サーバ設定ファイルの セクションに 認証用のディレクティブを書く方が推奨される方法で、.htaccess ファイルは主サーバ設定ファイルを変更できないときにのみ使用すべきです。 いつ .htaccess ファイルを使うべきで、いつ使うべきではないかに ついては 上を参照してください。

SSI の例

もう一つの .htaccess ファイルのよくある利用法は 特定のディレクトリで SSI を有効にすることです。これは、望みのディレクトリの .htaccess ファイルに以下の設定ディレクティブを書くことで 達成できます:

CGI の例

最後に、特定のディレクトリで CGI プログラムの実行を許可したいことが あるでしょう。これは以下の設定で行なうことができます:

問題解決

設定ディレクティブを .htaccess ファイルに書いたけれども、 期待した効果が得られないときには、いくつかの原因が考えられます。