0

ユーザーが自分のWebサイトのファイルに直接アクセスできないようにしようとしています。基本的に私は/images/header.jpgに画像を持っています

.htaccessを使用して、そのファイル「http://www.domain.com/images/header.jpg」に直接アクセスするすべての試行を404ページに転送しようとしていますが、ソースコード。状況を複雑にしているのは、実際にはheader.jpgを別の画像フォルダーにリダイレクトしていることです。

したがって、最終的に望ましい効果は次のようになります。

ユーザーがページをロード->header.jpgが呼び出され、new_header.jpgにリダイレクトされますユーザーが自分のサイトからheader.jpgをリンクしようとすると、私の404ページにリダイレクトされます。

いくつかの条件を試しましたが、目的の効果を得ることができませんでした...

RewriteCond %{REQUEST_URI} ^/images
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com [NC]
RewriteRule ^(.*\header.jpg(/.*)?)$ new_header.jpg [L,QSA]
4

1 に答える 1

2

私はこのようなものがあなたのために働くはずだと思います:

RewriteEngine On
#Redirect all request for things in /images that don't come from website to 404 page (assumed to be /404 in this case) - Prevents hotlinking
RewriteCond %{REQUEST_URI} ^/images
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain\.com [NC]
RewriteRule ^.*$ /404 [L,R=404]

#Redirect requests for /images/header.jpg to new_header.jpg image
RewriteRule ^/?images/header.jpg /path/to/other/images/new_header.jpg [L]
于 2012-12-28T18:25:39.053 に答える