阻止图像文件直接访问 URL


Prevent an image file from DIRECT URL ACCESS?

我想防止人们通过在浏览器地址栏中输入URL来获取我网站的图像,同时允许他们在访问网页时查看图像。

我尝试了以下.htaccess代码:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www'.)?localhost [NC]
RewriteCond %{HTTP_REFERER} !^http://(www'.)?localhost.*$ [NC]
RewriteRule '.(gif|jpg|png)$ - [F]

但是,它不仅限制了直接的URL访问,而且即使在访问网页时也会隐藏所有图像。现在我的网站看起来像一页有很多图像孔的文本。

谁能告诉我为什么上面的.htaccess不起作用?

我在这里找到了它(htaccess)如何防止文件直接URL访问?,但我没有足够的声誉在那篇帖子中询问,因为我刚刚创建了这个帐户来发布这个问题。

谢谢。

如果直接访问图像,则返回 403(禁止访问),但允许它们在现场显示。它有效,但测试可能很棘手/具有误导性。 在 questions/10236717/htaccess-how-to-prevent-a-file-from-direct-url-access 中阅读有关它的信息

防止热链接的另一种方法是这样的(来自:htaccess 生成器

RewriteEngine on  
RewriteCond %{HTTP_REFERER} !^$  
RewriteCond %{HTTP_REFERER} !^http(s)?://(www'.)?yourdomain.com [NC]  
RewriteRule '.(jpg|jpeg|png|gif)$ - [NC,F,L]