2

我目前正在从 Linux (Apache) 服务器迁移到 Windows (IIS)。在 Linux 上,我使用 .htaccess 文件来检查 HTTP_REFERER 值,以确保我们的文件仅从我们的站点加载,而不是从其他站点链接到:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?foo.com [NC]
RewriteRule \.(dcr)$ - [NC,F,L]

如何在 Windows 机器上完成此操作?(Windows Server 2008 R2、IIS 7)

4

1 回答 1

1

查看以下位置的第 6 点:

http://blogs.iis.net/ruslany/archive/2009/04/08/10-url-rewriting-tips-and-tricks.aspx

简而言之,您需要安装IIS URL Rewrite插件并创建一个类似于以下内容的规则:

<rule name="Prevent image hotlinking">
  <match url=".*\.(gif|jpg|png)$"/>
  <conditions>
    <add input="{HTTP_REFERER}" pattern="^$" negate="true" />
    <add input="{HTTP_REFERER}" pattern="^http://foo\.com/.*$" negate="true" />
  </conditions>
  <action type="Rewrite" url="/images/say_no_to_hotlinking.jpg" />
</rule>

当然,您的规则可能看起来略有不同。使用 URL 重写,您还可以采用当前的 .htaccess 规则并将其作为新规则直接导入。它将为您处理翻译,但根据您的目标,您可能需要对生成的结果规则进行一些小的更改。

希望有帮助。

于 2012-10-12T21:03:12.097 回答