【发布时间】:2023-02-16 19:13:52
【问题描述】:
我想阻止人们通过在浏览器地址栏中输入 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) How to prevent a file from DIRECT URL ACCESS?,但我没有足够的声誉在那篇文章中提问,因为我刚刚创建了这个帐户来发布这个问题。
谢谢。
【问题讨论】:
-
如果试图加载图像的页面位于 localhost 或 www.localhost.*,则 .htaccess 规则将允许直接访问。我可以看到在您引用的问题中提出了建议,并且可能对该 OP 有用,但是您自己的站点是位于 localhost 还是 www.localhost.*?这可能是问题所在。