Apache - 阻止直接访问图像

Apache - 阻止直接访问图像

我使用 apache 2.4.41,我想拒绝直接访问我服务器上的图像文件。我在 apache 配置文件中实现了以下代码:

SetEnvIf Referer "(www\.)?mywebsite\.net" localreferer
<FilesMatch "\.(jpg|png|gif)$">
    Require env localreferer
</FilesMatch>

但是我遇到了一个奇怪的现象。在 Web 浏览器中,当我尝试直接使用 URL 访问图像文件时,我没有收到 403 错误代码(如预期的那样),并且图像会显示出来。但是,当重新加载页面(Mac 上为 F5 或 cmd+R)时,资源会被阻止,并显示 403 错误状态。

当尝试时curl -I,我得到以下结果:

HTTP/1.1 302 Found
Date: Wed, 06 Jul 2022 14:31:35 GMT
Server: Apache/2.4.41 (Ubuntu)
Location: http://www.mywebsite.net/error/403.php

但我应该得到HTTP/1.1 403 Forbidden...

有人能帮我解决这个问题吗?提前谢谢了。

相关内容