上記のコメントで説明したように、まず.htaccess
スタイルファイルの解釈を有効にする必要があります。あなたがそれをする前に、彼らは単に無視されます。
このApacheの場合は、AllowOverride
というコマンドがあります。ホスト構成のセクションの中に配置します。このセクションには、これらのファイルを解釈する場所に適用するルールが定義されています。だから、のようなもの:
Order deny,allow
Deny from all
今自分自身をそれをしようとせず限り私が言うことができるよう、動作するはずです:
Listen 80
<VirtualHost *:80>
ServerName www.example.org
DocumentRoot "/var/www/documents"
<Directory "/var/www/documents">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
あなた.htaccess
スタイルファイルは、そのコンテンツを必要としています。 いずれにしても、httpサーバーのエラーログファイルの監視を開始する必要があります(前述のコメントにも記載されています)。構文エラーの場合など、セットアップに何が問題なのかを理解することができます。そのログファイルの一般的な場所は/var/log/apache2/error.log
ですが、設定によっては変更する場合もあります。そのログファイルの場所を定義するApache設定でCustomLog
コマンドを探します。
しかし私はここに私の第二のコメントを繰り返したい:
あなたは本当に.htaccess
スタイルファイルを使用する必要がある場合について考えたいです。代わりに、あなたのコマンドをホスト構成に入れないでください。 .htaccess
スタイルファイルは、エラーが発生しやすく、信頼性が低いと知られています。デバッグが難しく、サーバーの速度が遅くなります。これらは、ホスト構成を制御できないユーザーのためにのみ提供されています(安価なWebスペースプロバイダの場合が多いためです)。
あなたのホスト定義に別の<Directory ...>
コマンドを追加することにより、任意の.htaccess
スタイルファイルなしで同じ結果を得ることができます。
Listen 80
<VirtualHost *:80>
ServerName www.example.org
DocumentRoot "/var/www/documents"
<Directory "/var/www/documents">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/documents/protected/area">
AllowOverride All
Order deny,allow
Deny from all
</Directory>
</VirtualHost>
あなたは '.htaccess'スタイルファイルを解釈するために、あなたのホストを伝えるのを忘れていました。 apacheの 'AllowOverride'コマンドを見てください。 – arkascha
また、実際に '.htaccess'スタイルファイルを使用する必要があるかどうか考えてみたいと思います。代わりに、あなたのコマンドをホスト構成に入れないでください。 '.htaccess'形式のファイルは、エラーが発生しやすく、信頼性が低いと知られています。デバッグが難しく、サーバを遅くする原因となります。これらは、ホストの設定を制御していないユーザー(安価なWebスペースプロバイダの場合が多い)のためにのみ提供されています。 – arkascha
.htaccessで何十種類ものコマンドを試しましたが、どれも動作していません – Jacobian