我目前正在从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)
答案 0 :(得分: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 Rewrite,您还可以获取当前的.htaccess规则并将其直接导入为新规则。它会为您处理翻译,但根据您的目标,您可能需要对生成的结果规则进行一些小的更改。
希望有所帮助。