同一ASP.NET解决方案中的两个网站
我在同一个asp.net解决方案中有两个网站(index.html文件)。我有两个域,我想直接到正确的html文件 这是一个angularjs应用程序,所以我每个站点只有一个html文件 我希望对任何资源的所有请求都返回/index.html 我希望对上任何资源的所有请求都返回/site2/index.html 通过配置web.config和/或dns配置,这可能吗?我可以看到两种解决方案同一ASP.NET解决方案中的两个网站,asp.net,angularjs,iis,url-rewriting,Asp.net,Angularjs,Iis,Url Rewriting,我在同一个asp.net解决方案中有两个网站(index.html文件)。我有两个域,我想直接到正确的html文件 这是一个angularjs应用程序,所以我每个站点只有一个html文件 我希望对任何资源的所有请求都返回/index.html 我希望对上任何资源的所有请求都返回/site2/index.html 通过配置web.config和/或dns配置,这可能吗?我可以看到两种解决方案 第一个是在IIS中有两个不同的网站,并使用适当的绑定配置。在这种情况下,每个网站都有自己的文件夹和资源
此规则将把来自子域的所有请求重写到子目录。假设我理解,“解决方案”不一定等同于“IIS网站/应用程序”。您可以将每个“文件夹”标记为它自己的IIS“网站/应用程序”,每个都有自己的
主机头(然后在DNS中处理)。在看到这个答案之前,我同意使用IIS重写模块的第二个建议。此模块已在web.config中用于将所有请求重定向到index.html页面(单页angularjs应用程序)。我为第二个站点添加了另一条规则,并使用HTTP_主机条件将请求重写为正确的index.html
<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>