web-dev-qa-db-ja.com

サブディレクトリのみのホットリンクを防ぐ方法は?

/var/www/store内のすべてのサブフォルダーへのホットリンクを防ぎたいが、同時にそのインデックスページへのリンクを許可したい。私はこれをやってみました:

<Directory "/var/www/store">
  DirectoryIndex index.html
</Directory>
<Directory "/var/www/store/*">
  SetEnvIfNoCase Referer ^http://example.com/ accept
  Require env accept
</Directory>

しかし、外部のリンクからアクセスしようとすると、index.htmlは禁止されています。次に、末尾にスラッシュを追加してみました。

<Directory "/var/www/store/*/">

それも機能しません。これはApacheのバグですか? <Directory>ディレクティブはディレクトリのみに一致することになっているのではありませんか?

1

私の経験では、<Directories>ディレクトリまたはサブディレクトリ内のすべてに一致します。

私はこれまでこれを行ったことがありませんが、これは私には正しい動作のように思えます。 2つのディレクトリエントリを1つに折りたたんで追加してみませんか

SetEnvIfNoCase Request_URI ".html" accept

1
davidgo