asp.net – 无法使用URL重写出站规则来更改IIS响应代码
发布时间:2020-05-23 17:30:55 所属栏目:asp.Net 来源:互联网
导读:我尝试设置一个IIS URL重写规则,以匹配403响应,因为有人在禁用目录浏览时尝试浏览到目录。我想然后将它们重定向到我为404定义的通常的ASP.NET自定义错误页面。 这是我现在所做的: outboundRules !-- By default, browsing a directory with no default res
|
我尝试设置一个IIS URL重写规则,以匹配403响应,因为有人在禁用目录浏览时尝试浏览到目录。我想然后将它们重定向到我为404定义的通常的ASP.NET自定义错误页面。 这是我现在所做的: <outboundRules>
<!-- By default,browsing a directory with no default resource will return 403 -->
<rule name="Directory browsing location">
<match serverVariable="RESPONSE_LOCATION" pattern="(.*)" />
<conditions>
<add input="{RESPONSE_STATUS}" pattern="^403" />
</conditions>
<action type="Rewrite" value="/Error/PageNotFound?aspxerrorpath={PATH_INFO}"/>
</rule>
<rule name="Directory browsing status code" patternSyntax="ExactMatch">
<match serverVariable="RESPONSE_STATUS" pattern="403" />
<action type="Rewrite" value="302" />
</rule>
</outboundRules>
我的假设是,它需要是一个出站规则,而且我需要重写状态代码并添加位置响应头,尽管后者将不会存在原始的403响应。 目前的行为是什么都没有。我仍然看到403s,无论我做了多少调整。有什么想法吗? 顺便说一下,不,网站上没有任何合法的403,因为这样会被吞下去。我也可以为可能导致满足条件的每个路径创建入站规则,但这不是很可扩展。 解决方法URL Rewrite几乎有一个句柄,而不是HTTP状态代码,因为它不在响应头。所以不幸的是,URL Rewrite无法做到这一点,或者至少不是我曾经找到过的。我想做过类似的事情很多次。请注意,您可以使用{RESPONSE_STATUS}检查状态,但无法更新。@RyanCEI的回应是我建议的。要添加到这一点,您可以使用subStatusCode将错误范围仅作为403.14,并且仅对于测试,请确保要么将自定义测试或将errorMode设置为自定义,默认情况下,IIS不会显示自定义错误在本地盒子上测试的页面。 这是一个配置,这两个这样的配置。 <httpErrors errorMode="Custom">
<error statusCode="403" subStatusCode="14" path="/errorpage.htm" responseMode="ExecuteURL" />
</httpErrors>
测试完成后,您可以关闭errorMode =“Custom”。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 无法从按钮onclick事件ASP.NET 4调用Javascript函数
- asp.net – 下载列表asp mvc
- asp.net-core – 如何在ASP.NET 5 MVC中访问缓存?
- 从ASP.NET 2.0成员身份解密“加密”密码
- asp.net-mvc – 是否可以为post和get提供重复的动作名称和参
- asp.net – asp文本框限制字符数?
- ASP.NET / VB中的jsFiddle是否相当?
- .NET WebApi jsonapi.org支持
- asp.net-mvc – 从ASP.NET MVC2升级到MVC3的原因
- asp.net-mvc – 在MVC应用程序中ExtensionlessUrlHandler做
推荐文章
站长推荐
- asp.net-mvc – 如何解决异常“文件不存在”?
- asp.net-mvc – ASP.net MVC 4中的条件@ Scripts
- 在ASP.NET MVC4中自定义错误消息MVC的无效DateTi
- asp.net – 如何创建自定义数据注释验证器
- asp.net – 如何在Web / Windows窗体中将IronRub
- asp.net成员资格 – 在Application_Authenticati
- asp.net-mvc – ASP.NET MVC2 – 自定义模型绑定
- asp.net-mvc – Silverlight 3是否会改变MVC与Si
- asp.net-mvc – MVC.net获取枚举显示名称而不必参
- 在asp.net mvc上传文件代码后,通过服务器获
热点阅读
