1

我在同一台服务器上托管了多个网站,其结构如下:

http://primary-domain.com/hostedsites/MVCWebApplication1/ = http://MVCWebApplication1.com/

http://primary-domain.com/hostedsites/MVCWebApplication2/ = http://MVCWebApplication2.com/

...

问题是,~/在托管站点(即 MVCWebApplication1、MVCWebApplication2 等)中所做的所有引用都解析为

http://MVCWebApplication1.com/hostedsites/MVCWebApplication1/

并不是

http://MVCWebApplication1.com

请注意:

我的 web.config 已经有了以下内容:

<rule name="Remove Virtual Directory">
  <match url=".*" />
  <action type="Rewrite" url="{R:0}" />
</rule>

我怎样才能解决这个问题?

4

2 回答 2

1

我最终做的是使用一堆变通方法:

web.config

<rewrite>
  <rules>
    <rule name="Remove Virtual Directory">
      <match url=".*" />
      <action type="Rewrite" url="{R:0}" />
    </rule>
  </rules>
</rewrite>

而不是创建这样的链接:

<a href="~/Help">Help</a>

这样做:

@Html.ActionLink("Help", "Help") // This seems to create clean urls
于 2013-06-02T19:19:28.417 回答
0

您只需要将虚拟目录转换为 IIS 中的应用程序。

于 2013-06-03T11:06:13.270 回答