0

我试图阻止用户直接访问我网站上的文件。基本上我有一个位于 /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 回答