我正在将 ASP.NET 应用程序从 IIS6 迁移到 IIS7,在此过程中,我还将重写设置从 Intelligencia.UrlRewriter 移植到使用 IIS 重写。
遇到了一些“Rejected-By-Urlscan”错误问题(像这样的 URL/åäö.html
应该重定向到我的 404 页面)。
在 Intelligencia.UrlRewriter 中,此方法有效:
<rewrite url="^~/Rejected-By-UrlScan" to="~/sidan-finns-inte.html"/>
我将其移植到:
<rule name="Rejected-By-UrlScan">
<match url="^Rejected-By-UrlScan" />
<action type="Rewrite" url="/sidan-finns-inte.html" />
</rule>
但是我一直收到 IIS 内部 404 错误,而不是我的 404 错误 (sidan-finns-inte.html)。
我怎样才能解决这个问题?
答案1
我通过添加解决了这个问题:
<httpErrors errorMode="Custom">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/404.aspx" responseMode="ExecuteURL" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="500" path="/Error.aspx" responseMode="ExecuteURL" />
</httpErrors>
在 Web.Config 中