如何将subdomain.domain.com链接从映射到subdomain.domain.com/subdomain?

时间:2009-07-17 03:41:10

标签: asp.net-mvc

我创建了一个虚拟目录,并指向了一个指向该虚拟目录的子域。当我们的链接离开子域链接时,它总是会路由到subdomain.domain.com/subdomain/controller/action。有没有一种简单的方法可以阻止它?

此外,当我将anotherdomain.com映射到我的虚拟目录时,也是同样的问题。它最终链接到anotherdomain.com/virtualdir/controller/action。

让我的所有链接都是myapp.com/myapp/action/controller对我来说是不专业的。

1 个答案:

答案 0 :(得分:2)

我也想知道这一点,但我不相信你可以在ASP.NET MVC附带的现成路由中实现这一点。

值得庆幸的是,用户可以自由选择如何处理这些内容,并且可以找到您可能想要考虑的解决方案{。{3}}。

ASP.NET MVC团队似乎已经认识到默认情况下应该预先将其预先添加到MVC中,但是在v2之前我没有看到任何事情,因为它需要更改路由引擎。

如果不这样做,您可能需要考虑网址重写(如果您有IIS7,这显然会更容易)。 here是一个讨论此问题的IIS论坛帖子。

IIS 7重写示例(取自Here):

<rule name="RewriteSubdomain">
  <match url="^(.+)">
  <conditions>
    <add input="{HTTP_HOST}" type="Pattern" pattern="^([^.]+)\.myapp\.com$">
  </conditions>
  <action type="Rewrite" url="{C:1}/{R:1}" />
</rule>