2016-10-20 12 views
0

mod.rewriteを使用して、Webサーバー上のファイルへの直接アクセスを拒否しようとしています。 http://domain.tld/reports/imareport.pdfまたはhttp://domain.tld/img/img1.png、と私はこの質問に答えを使用しました。このようにしmod.rewriteを使用してファイルへの直接アクセスを防止するが、ウェブページ内のファイルを許可する方法

RewriteEngine on 
RewriteRule \.(png|pdf|htm)$ - [F] 

が正常に動作します:

(htaccess) How to prevent a file from DIRECT URL ACCESS?

このページには次のようにmod.rewriteを使用することを提案していますPDFへのアクセスを拒否するには、画像やCSSなどのページに通常含まれるその他のファイルは、直接アクセスからブロックされるだけでなく、通常の<img>タグなどのWebページで使用されるとブロックされます。これは上記の質問と回答に反する。

だから私の質問は...ファイルへの直接アクセスをブロックする方法はありますか?それでもウェブページで許可していますか?

+1

私は答えがあなたのためにここにあると信じています:http://stackoverflow.com/questions/10236717/htaccess-how-to-prevent-a-file-from-direct-url-access –

+0

これは投稿です私は当初使用しましたが、解決策はWebページ上の画像と直接アクセスをブロックすることです。 –

+0

これらのファイルにアクセスするには、ユーザーがログインした後、またはサイトにアクセスした後で、URLをアドレスバーに入れて直接画像にアクセスしないでください。 – Mike

答えて

0

おかげでマーク・フィリップス、私は完全にこの二つの書き換え条件が私のために何をしていたかを認識しませんでした:

RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?localhost.*$ [NC] 

だから私は混乱にそれらを管理していました。コードをそのまま使用した場合、必要に応じて機能しました。

関連する問題