質問: ディレクトリ`★★★★` 以下に設置する静的コンテンツは特定のサイトで表示したいものですが、 現状はすべてのサイトから閲覧できてしまう問題がある。 ディレクトリ単位で .htaccess で制御するなどの方法で特定のサイトのみから閲覧できる形の運用方法を確立したい。 現在自分のサイトのドメインでなくても同じ画像などを表示することが出来る場合がある ``` ex, XX大学の下記のバナー http://www.■■■■.jp/images/material/56/images/◇◇◇◇.png 別のドメインのXX幼稚園サイト配下のURLでも同じものが見えてしまいます http://●●●●.□□□□.ac.jp/images/material/56/images/◇◇◇◇.png ``` このような現象があるため、自身のサイトの静止コンテンツは自身のサイトのドメインのみで見れるようにしたい。 Webサーバ上の★★★★/images/material/56/以下はXX大学のコンテンツなので、ドメインwww.■■■■.jp にアクセスしている場合のみ表示できるようにしたいです。 .htaccessの設定に関しての記事をネット上で読み、 ``` 1.IDとパスワード認証によるアクセス制限 2.IP or ドメイン指定によるアクセス制限 3.ディレクトリ内のファイル一覧表示の中止 4.リダイレクト ``` があるのはわかりましたが、 質問内容を実行するにあたり、 .htaccessの設定をどのように触れば良いのかが掴めません。 どなたかご回答頂けると幸いです。 宜しくお願いします。
回答: ドメインが分かれているのであれば、htaccessでアクセスしたドメイン名を元にアクセスを切り分けるのではなくて、VirtualHostの設定でルートディレクトリを分けてしまうのがいいと思います。 どうしてもhtaccessで切り分けなければならない場合、以下の設定を追加したhtaccessを配置すればいいと思います。 ``` RewriteEngine On RewriteCond %{HTTP_HOST} !www.■■■■.jp RewriteRule ^.*$ - [R=404,L] ``` 環境がなく、試せてはいないですが、参考になれば。 mod_rewriteというモジュールがインストールされているのが前提です。