目前我正在使用 UrlRewritingNet.UrlRewrite dll 在 Asp.Net #3.5 中进行 URL 重写。
在不使用任何特殊字符的情况下,它可以正常工作。网址 1。但是在 URL 中给出特殊字符后,它会抛出错误请求错误。网址2
URL1:http ://www.example.com/search/0253
URL2:http ://www.example.com/search/0253:0253
要处理此错误,我想将其重定向到其他错误页面,我该怎么做?
目前我正在使用 UrlRewritingNet.UrlRewrite dll 在 Asp.Net #3.5 中进行 URL 重写。
在不使用任何特殊字符的情况下,它可以正常工作。网址 1。但是在 URL 中给出特殊字符后,它会抛出错误请求错误。网址2
URL1:http ://www.example.com/search/0253
URL2:http ://www.example.com/search/0253:0253
要处理此错误,我想将其重定向到其他错误页面,我该怎么做?
在 IIS 7+ 上,您可以为 400 Bad Request 定义所有状态的错误页面:
<httpErrors>
<error statusCode="400" path="/bad-request.aspx" prefixLanguageFilePath="" responseMode="ExecuteURL"/>
</httpErrors>
或通过 IIS 控制台转到错误页面并为状态代码 400 添加自定义错误页面:
最好的方法是使用Web.config
类似的文件
<system.web>
<!-- other system.web stuff -->
<customErrors defaultRedirect="/Error404.aspx" mode="On" redirectMode="ResponseRewrite">
<error redirect="/Error404.aspx" statusCode="404" />
</customErrors>
</system.web>
<system.webServer>
<!-- other system.webServer stuff -->
<httpErrors errorMode="Custom">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/Error404.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
更多详情请点击这里