ASP> NET页面重定向301

时间:2017-06-19 00:48:45

标签: asp.net url-rewriting

我想写一个asp.net页面重定向

此网址

https://mysiteurl/mystore/storename/about-the-store

应始终重定向到

https://mysiteurl/mystore/storename

存在关于商店页面,但我们不想删除它。 我们有多个商店,每个商店都有商店页面。

同样

https://mysiteurl/mystore/storename1/about-the-store

应始终重定向到

https://mysiteurl/mystore/storename1

即使用户在浏览器中输入完整的店铺网址,我也需要进行此重定向,并且应该是301重定向。

此规则仅适用于商店,例如,只有在“mystore”在URL中可用时,规则才应重定向。

我的申请中有多少商店没有限制。

1 个答案:

答案 0 :(得分:0)

您需要在IIS管理器中配置重写的映射和规则。打开IIS管理器,找到您的站点并导航到" URL Rewrite"。

可以找到此程序的深度文档here

一旦您创建了一个重写映射,指定了用于替换旧URL的新URL,您的web.config文件中就会显示以下内容:

 <rewriteMaps>
 <rewriteMap name=”Redirects”>
 <add key=”/mystore/storename/about-the-store” value=”/mystore/storename” />
 <add key=”/mystore/storename1/about-the-store” value=”/mystore/storename1” />
 </rewriteMap>
 </rewriteMaps>

这里我们基本上为asp.net提供了我们页面的新位置,并执行从旧URL到新URL的301重定向。

为了保持清洁,您可以将新文件添加到项目的根目录中,名为&#39; redirect.config&#39;并将上述内容复制并粘贴到文件中,然后将其添加到system.webServer:

下的web.config文件中
<rewrite>
<rewriteMaps configSource=”redirect.config” />
<rules>
<rule name=”Redirect Rules”>
<match url=”.*” />
<conditions>
<add input=”{Redirects:{REQUEST_URI}}” pattern=”(.+)” />
</conditions>
<action type=”Redirect” url=”{C:1}” />
</rule>
</rules>
</rewrite>

这里我们将web.config指向我们的redirect.config文件并传递参数或&#39;规则&#39;需要进行URL切换。