asp.net-mvc – ASP.NET MVC ActionLink与URL重写

有一个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伙计们:)

罗马

最佳答案 您必须要了解的第一件事是路由和重写之间的区别.这个博客可以最好地描述:

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

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

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

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

点赞