代码之家  ›  专栏  ›  技术社区  ›  Alan Jackson

如何保持subdomain.domain.com链接不映射到subdomain.domain.com/subdomain?

  •  1
  • Alan Jackson  · 技术社区  · 15 年前

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

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

    我觉得我的所有链接都是myapp.com/myapp/action/controller不专业。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Dan Atkinson    15 年前

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

    谢天谢地,用户在选择如何处理这些事情上有很大的自由,并且可以找到您可能需要考虑的解决方案。 here .

    ASP.NET MVC团队似乎已经认识到,在默认情况下,这应该预先烘焙到MVC中,但在V2之前,我看不到有任何事情要做,因为它需要更改路由引擎。

    如果不能做到这一点,您可能需要考虑重写URL(如果您有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>