什么是相当容易实现Asp.Net MVC的Url重写器

时间:2009-08-24 01:01:50

标签: asp.net-mvc url-rewriting

我正在重写MVC中的一些网站。

我担心那里的旧链接,有些是我知道的,有些我不知道。

我正在寻找有关如何确保我的已知和未知链接没有死的建议和代码示例。 您有什么选择?

我最终想要淘汰旧的链接。我希望通过通知我的用户来自旧链接来了解新链接。

我想从简单的事情开始,因为我还在学习MVC。

另一篇文章建议Managed Fusion URL Rewriter and Reverse Proxy

3 个答案:

答案 0 :(得分:4)

我是您提到的网址重写者的开发者。如果您需要帮助,请按照ReadMe.txt文件中的建议与我联系。您所要求的并非与众不同,并且可以使用一些非常基本的规则轻松完成。

嗯,你提到了两个重点。您想要通知您的用户有关新链接的信息,您此时可能关心的最大用户是Google。您可以通过301 Permanent Redirect向Google解决此问题。例如,这是使用URL重写器语法执行此操作的方法。

RewriteRule ^/(old-url.*)$    /new-url$1  [R=301]

R=301执行永久重定向。第二个你已知和未知的链接。对于您已知的链接,您只需使用上述规则将它们映射到新应用程序的正确部分。根据您有多少旧网址,您可能希望将重写规则设为通用,这样就可以捕获许多旧网址。

对于未知链接,您可能希望执行以下两项操作之一:查看服务器日志或分析以查找重要内容,并将这些内容适当地映射到新代码的正确部分。

然后为了确保所有其他内容都没有完全消失,您可以将它们重定向到您的主页,内部网站搜索,或只是一个通用页面,说明您的网站已更新,此链接已不再使用

再次请与我联系。 Managed Fusion URL Rewriter and Reverse Proxy将与IIS 6上的任何.NET网站(包括MVC)以及IIS 7上的任何类型的网站(包括PHP,Ruby,JSP和Classic ASP)完美配合。

答案 1 :(得分:0)

查看这篇文章 - http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

  

摘要:提示/技巧:网址重写   ASP.NET。

http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

  

摘要:博客 - ASP.NET MVC框架   (第2部分):URL路由。

答案 2 :(得分:0)

如果您需要的是漂亮的URL(或搜索引擎优化),您可以在不重写应用程序的情况下执行此操作。查看IIS 7的URL重写模块:

http://www.iis.net/extensions/URLRewrite/

Microsoft支持并支持URL重写以及响应内容重写(例如,修复应用程序链接)。

Daniel Vasquez Lopez。