IIS重写规则澄清

时间:2015-05-13 06:10:19

标签: regex iis url-rewriting

有人可以帮我理解使用时的区别:

<match url="^$" /> vs. <match url=".*" />

示例:

<rule name="Test" stopProcessing="true">
            <match url="^$" />
            <conditions>
              <add input="{{HTTP_HOST}}" pattern="^(.+\.)?domain\.com\.au$" />
            </conditions>
            <action type="Redirect" url="http://www.new-domain.com.au/" />
          </rule>

1 个答案:

答案 0 :(得分:0)

  

^ $将匹配空网址

     

。*会匹配任何空的网址。不会匹配多户网站的网址

Prevent Image Hotlinking

图像热链接是将图像从一个站点用于属于第二个站点的网页。即使站点未按预期查看,未经授权的站点图像热链接也会增加带宽使用。图像热链接还有其他问题,例如版权或在不适当的环境中使用图像。

使用URL重写模块,可以很容易地防止图像热链接。例如,以下重写规则可防止热链接到网站http://ruslany.net上的所有图像: 查看plaincopy到clipboardprint?

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

只有当请求中的HTTP Referer标头不为空并且不等于网站的域时,此规则才会将对任何图像文件的请求重写为/images/say_no_to_hotlinking.jpg。