我想写一个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中可用时,规则才应重定向。
我的申请中有多少商店没有限制。
答案 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切换。