Webconfig入站规则,避免显示js文件

问题描述 投票:0回答:1

我创建了以下规则

 <rule name="block js files">
    <match url=".*\.(js)/*$"/>  
      <action type="Redirect" url="http://{SERVER_NAME}/notfound/{R:1}" redirectType="notFound"/>
    </rule>

这会将对js文件的请求移到一些未找到的页面。并且这正常工作。

但是当它也阻止了应用程序请求的js文件时。

我认为从应用程序请求的js文件位于出站规则之下。

所以我想将以上规则放在入站部分,因为我认为来自浏览器的请求属于入站规则。

我应该在这里更新什么?

谢谢

asp.net iis url-rewriting web-config
1个回答
0
投票

我认为您可以从HTTP_REFERER将您的域列入白名单。因此,无论您是从外部访问js还是直接访问js,IIS都会重定向该请求。同时,IIS不会阻止从您的域引用的请求。当然,您可以启用CORS标头。

此外,“ notFound”不是有效的redirectType。您在寻找“找到”而不是“未找到”吗?

 <rule name="block js files" enabled="true" stopProcessing="true">
    <match url=".*\.(js)/*$" />  
      <action type="Redirect" url="http://{SERVER_NAME}/notfound/{R:1}" redirectType="Found" />
                    <conditions>
                        <add input="{HTTP_REFERER}" pattern="mydomain.com" negate="true" />
                    </conditions>
    </rule>
© www.soinside.com 2019 - 2024. All rights reserved.