ASP.NET MVC ActionLink与URL重写

时间:2010-04-15 09:36:10

标签: asp.net-mvc url-rewriting actionlink

有一个ASP.NET MVC 2 Web应用程序,我们称之为myapp.com。我想要像something.myapp.com这样的动态子域名(用户创建的类别)。所以我设置了URL重写与规则重写something.myapp.com - > myapp.com/something(接下来由MVC处理..)。但是,第一个ActionLink抛出异常

System.Web.HttpException:无法使用前导..退出顶级目录

因为很明显,URL仍然是something.myapp.com。这有什么优雅的解决方案吗?我不想重定向(我想在浏览器中保留URL something.myapp.com)。另外,我不喜欢编写自定义ActionLink的想法,这是MVC中一些最基本的东西......

thanx guys:)

罗马

1 个答案:

答案 0 :(得分:2)

首先要了解的是路由和重写之间的区别。这个博客可以最好地描述:

http://www.coderjournal.com/2010/03/difference-between-routing-rewriting/

作为文章的后续内容,还创建了一个用于编辑“内联重写”的项目,以帮助展示差异,更重要的是如何将它们结合使用。

http://www.coderjournal.com/2010/03/editable-mvc-routes-apache-style/

但是为了更直接地回答您的问题,您需要确保在路由之前处理URL重写器,以便提前修改所有内容并为其进行规范化。