Seo公司要求将每个404错误请求重定向到特定url。我要求将错误400 (Bad request)重定向到特殊页面。
我可以在web.config文件中这样做,但要求每个url都指向特殊页面,例如https://stackoverflow.com/questions/askhttps://stackoverflow.com/questions/ask =>(301) https://stackoverflow.com/questions/ask https://stackoverflow.com/questionshttps://stackoverflow.com/questions => (301) https://stackoverflow.com/questions
有可能吗?我的应用程序是IIS服务器上的ASP.NET (不是MVC)。
谢谢
发布于 2018-04-25 19:29:33
警告:
你说这是"ASP.NET (不是MVC)“。我假设这意味着您使用的是WebForms而不是ASP.NET核心。
答案:
这提供的一个功能是重写映射,这本质上是一个从URL映射和到URL映射的列表,其中对前者的请求将导致重定向到后者。documentation for URL Rewrite maps is here,下面是文档中的一个示例:
定义您的映射:
<rewrite>
<rewriteMaps>
<rewriteMap name="StaticRewrites" defaultValue="">
<add key="/article1" value="/article.aspx?id=1&title=some-title" />
<add key="/some-title" value="/article.aspx?id=1&title=some-title" />
<add key="/post/some-title.html" value="/article.aspx?id=1&title=some-title" />
</rewriteMap>
</rewriteMaps>
</rewrite>然后添加重写规则以使用您刚刚定义的映射:
<rules>
<rule name="Rewrite Rule">
<match url=".*" />
<conditions>
<add input="{StaticRewrites:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" />
</rule>
</rules>在您的示例中,您将希望使用Redirect操作而不是Rewrite。
该模块提供了许多其他配置选项。
发布于 2018-05-03 21:24:39
在asp.net webforms上,设置一个页面,即Redirect.aspx,以重定向所有类型为400的错误:
<configuration>
<system.web>
<customErrors defaultRedirect="Error.htm"
mode="RemoteOnly">
<error statusCode="400"
redirect="Redirect.aspx"/>
</customErrors>
</system.web>
然后在页面上通过以下方式查看它所来自的Url:
Request.UrlReferrer然后进行相应的处理
https://stackoverflow.com/questions/50017515
复制相似问题