Apache: ディレクトリへのアクセスを拒否するが、1 つのファイルへのアクセスを許可する

Apache: ディレクトリへのアクセスを拒否するが、1 つのファイルへのアクセスを許可する

Ubuntu 12.04 で Apache 2.2.22 を使用しています。

/var/www/abc/ディレクトリへのアクセスを無効にし、このディレクトリ内のファイルへのアクセスを許可する必要があります/var/www/abc/README.txt。以下を試します:

<Directory /var/www/abc/*>
    Order allow,deny
    deny from all
    <Files /var/www/abc/README.txt>
        order allow,deny
        allow from all
    </Files>
</Directory>

しかし、それは機能しません - ディレクトリへのアクセスは無効になっています (OK)、ファイルは無効になっています (OK ではありません)。

私が悪いことをしたのは何故ですか?

答え1

ファイル タグはディレクトリへの相対パスを使用する必要があります。絶対パス ( <Files /var/www/abc/README.txt>) では機能しません。

これは機能します:

<Directory /var/www/abc/*>
    Order allow,deny
    deny from all
    <Files README.txt>
        order allow,deny
        allow from all
    </Files>
</Directory>

関連情報