【问题标题】:ASP.NET MVC ActionLink vs. URL RewriteASP.NET MVC ActionLink 与 URL 重写
【发布时间】:2011-02-08 07:19:02
【问题描述】:

有一个 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 中一些最基本的东西......

谢谢大家 :)

罗马

【问题讨论】:

  • 我面临同样的问题。请碰一下!

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


【解决方案1】:

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

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

作为文章的后续,还创建了一个用于编辑 Routing inline with Rewriting 的项目,以帮助展示差异,更重要的是如何将它们一起使用。

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

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

【讨论】:

    猜你喜欢
    • 2011-08-24
    • 1970-01-01
    • 2023-03-15
    • 2011-02-16
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 2013-08-28
    相关资源
    最近更新 更多