晚上好,我是新来的 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文件的业务逻辑?
先谢谢你
你可以通过URL重写规则轻松实现。
<rule name="rewrite" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{URL}" pattern="^/Pages/(.*)\.aspx" />
</conditions>
<action type="Redirect" url="Pages/{C:1}" />
</rule>