ドメインに多数のフォルダーとサブフォルダーがあります。特定のサブフォルダー内のファイル タイプ html/jpg/gif/ などへの直接アクセスを避けたいのですが、index.php ページからアクセスできるようにしたいと考えています。
構造は次のようなものです。
- www.domain.com/folder1
- www.domain.com/folder2
- www.domain.com/folder2/subfolder1
- www.domain.com/folder2/subfolder2
- www.domain.com/folder2/subfolder2/index.php
- www.domain.com/folder2/subfolder2/page1.html
- www.domain.com/folder2/subfolder2/page2.html
- www.domain.com/folder2/subfolder2/images/1.jpg
- www.domain.com/folder2/subfolder2/images/2.jpg
block_content という新しいフォルダー内に page1.html、page2.html、および images フォルダーを配置しようとしました。
- www.domain.com/folder2/subfolder2/index.php
- www.domain.com/folder2/subfolder2/blocked_content/page1.html _ _
そして、 blocked_contentフォルダー内deny from all
およびその中に .htaccess を追加しました。index.php でさえ、この中のファイルにアクセスできません。Index.php には次のような単純なリンクしかありません。Order Deny,Allow
Deny from all
<a href="blocked_content/page1.html">
.htaccess でこの設定を試しました:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.com [NC]
RewriteRule \.(swf|pdf|css|gif|png|jpg|html|htm)$ - [F]
subfolder2 の中に入れても効果はありませんでした。
.htaccess でこの設定を試しました:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.com/folder2/subfolder2 [NC]
RewriteRule \.(swf|pdf|css|gif|png|jpg|html|htm)$ - [F]
subfolder2 の中に入れました: 効果はありません。ルートディレクトリに配置すると、他のすべてのフォルダーがブロックされます。
いろいろ探しました。立ち往生しています。私は何を間違っていますか?htacess を間違った場所に置いたり、何かを追加するのを忘れたりしていませんか? できれば .htacess でやりたいです。ファイル名を変更できないため、すべての html ファイルに php セッションを含めることはできません。