我可以使用MVC3将www.abc.com/a b c / test.html重定向到www.abc.com/a-b-c/test.html

时间:2011-07-20 06:25:26

标签: asp.net-mvc iis-7

我正在改变链接在我的网站上显示的方式。我从允许URL中的空格更改为新的格式,其中URL包含空格所在的空格。

这会在URL中间只影响一个字符串。

Google已使用网址中的旧空间为我的许多网页编制索引,但现在它们显示为404。我是否可以放置一些代码(临时),可以将带有空格的URL重定向到带有破折号的URL。我认为这是403重定向。永久重定向。

谢谢,

2 个答案:

答案 0 :(得分:0)

为什么不尝试配置路由以支持旧路由和新路由?

基本上/a b c/page/a-b-c/page应该映射到控制器的相同操作。

答案 1 :(得分:0)

我们最近没有通过相同的事情。我们最终创建了LegacyController,基本上调用了RedirectToActionPermanentRedirectToRoutePermanent。 (HTTP 301 - 永久移动)。

理想情况下,you should let IIS7 do the redirects,但我们不能,因为我们需要调用我们的数据库才能找出去哪里

如果您的重定向非常简单(例如URL中没有“动态”信息),那么您应该使用IIS。