Webサイトの特定のディレクトリ内で、PDFの直接アクセスをブロックするため下記の記述をhtaccessに設定しています。
これは正常に機能しています。
htaccess
1SetEnvIf Referer "^サイトドメイン" ShowOK 2<Files ~ "\.pdf$"> 3order deny,allow 4deny from all 5allow from env=ShowOK 6</Files>
今回、この制限を除外したいPDFが発生したのですが、除外の記述がうまくいきません。
Basic認証の除外に関する記事は多く見つけたのですが、それらの転用ではうまくいかないようです。
※記述の並びを変えてもリファラ制限が優先されました。
htaccess
1SetEnvIf Referer "^サイトドメイン" ShowOK 2<Files ~ "\.pdf$"> 3order deny,allow 4deny from all 5allow from env=ShowOK 6</Files> 7 8<Files "xxxx\.pdf"> 9Satisfy Any 10Order allow,deny 11Allow from all 12Deny from none 13</Files>
そもそものファイルディレクティブを正規表現にすれば、と思いましたが正規表現の除外の書き方の参考が少なく、下記記述ではリファラ制限が優先され除外を実現できませんでした。
htaccess
1SetEnvIf Referer "^サイトドメイン" ShowOK 2<FilesMatch "(\.pdf|^.*(?<!xxxx\.pdf))$"> 3order deny,allow 4deny from all 5allow from env=ShowOK 6</FilesMatch>
そもそもの制限がかかっているPDFが数百あり、制限を除外するファイルのほうが少ないのでできれば除外するファイルを指定する方法が望ましいです。
ご教示お願いします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/08 05:28