2010-04-15 120 views
4

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

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

以上,因为,很明显,该网址仍something.myapp.com它。有没有优雅的解决方案?我不想重定向(我想在浏览器中保留URL something.myapp.com)。此外,我不喜欢编写定制ActionLink的,一些在MVC最基本的东西的想法...

感谢名单家伙:)

罗马

+0

请更多代码。 – LukLed 2010-04-15 10:35:16

+0

我面临同样的问题。请碰! – 2010-08-27 17:59:38

回答

2

你要了解的第一件事情是之间的区别路由和重写。这最好通过这个博客来描述:

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

作为后续文章编辑路由内嵌重写项目也被创造了,以帮助演示差异,更重要的是他们可以如何使用一起。

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

但更直接地回答你的问题,你需要确保URL重写是路由之前得到处理,让一切都被修改和规范化为您的时间提前。