两个网站在同一个ASP.NET解决方案中

时间:2015-05-26 13:45:43

标签: asp.net angularjs iis url-rewriting

我在同一个asp.net解决方案中有两个网站(index.html文件)。我有两个域,我想指向正确的html文件。

这是一个angularjs应用程序,所以每个站点只有一个html文件。

我希望http://site1.myhostname.com/的所有资源请求都返回/index.html。

我希望http://site2.myhostname.com/的所有资源请求都返回/site2/index.html

配置web.config和/或dns配置是否可以实现?

1 个答案:

答案 0 :(得分:0)

我可以看到两个解决方案

  1. 第一个是在IIS中有2个不同的网站,并使用适当的绑定配置。在这种情况下,每个网站都有自己的文件夹和资源。

    IIS configuration with 2 websites

    Binding configuration

    这是我推荐的解决方案。

  2. 另一种解决方案是使用IIS的URL重写模块。

    您可以在那里安装:http://www.iis.net/downloads/microsoft/url-rewrite

    然后在你的web.config

  3.   
    <system.webServer>
      <rewrite>
        <rules>        
          <rule name="Rewrite sub-domain to sub-directory" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
               <add input="{HTTP_HOST}" pattern="(\w+)\.company\.com" />
            </conditions>
            <action type="Rewrite" url="{C:1}/{R:0}" />
          </rule>
        </rules>
      </rewrite>
    </system.webServer>
    

    此规则将重写从子域到子目录的所有请求。