RouteConfig - IIS10+C# - 重定向旧链接。

问题描述 投票:0回答:1

晚上好,我是新来的 C#IIS我想弄明白的是 友好的大学.

我想我做得很好,但是,我有一个问题。

比方说,今天我的网站把所有的页面都放在Pages文件夹里,这样一个URL就会是。

https://www.foo.xyz/Pages/my-dog.aspx

如果安装了默认的FriendlyUrls,用户使用该链接,会在浏览器中看到这样的内容。

https://www.foo.xyz/Pages/my-dog

这真的很好,但还不够。

有了这段代码。

 routes.MapPageRoute("FirstLevel", "{file}", "~/Pages/{file}.aspx");

每一个新的网址www.foo.xyzmy-dog 都会指向同一个文件Pagesmy -dog.aspx.

所以,我将继续使用以前的文件。

但现在... 我想告诉浏览器或蜘蛛,所有以前的链接,如Pagesfoo.aspx是permamently移动(301)到全新的链接。或者我需要使用IIS的url重写模块,并保持在web.config文件的业务逻辑?

先谢谢你

c# http-status-code-301 friendly-url iis-10
1个回答
0
投票

你可以通过URL重写规则轻松实现。

 <rule name="rewrite" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{URL}" pattern="^/Pages/(.*)\.aspx" />
                    </conditions>
                    <action type="Redirect" url="Pages/{C:1}" />
                </rule>
© www.soinside.com 2019 - 2024. All rights reserved.