在域和子域上为两个Angular应用程序configurationIIS

我有一些复杂的情况,我不能configuration。

我需要一个web.config文件来configurationIIS来服务2个Angular应用程序。 第一个将在domain.com上运行,第二个将在sub.domain.com上运行

现在正在工作的修复将第一个应用程序(domain.com)放入wwwroot中,第二个应用程序(sub.domain.com)放在第一个应用程序中的一个文件夹中。 web.config:

<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Redirect subdomain" enabled="true"> <match url="^(.*)$"/> <conditions> <add input="{HTTP_HOST}" pattern="^sub\.domain\.com$"/> </conditions> <action type="Rewrite" url="subfolder/{R:1}"/> </rule> </rules> </rewrite> </system.webServer> </configuration> 

问题是,我需要添加一些URL重写规则,这将只适用于第一个应用程序。 如果我将它们添加到web.config文件,那么由于我添加的规则,第二个应用程序将被redirect到第一个应用程序。

一个理想的解决scheme就是这样的

wwwroot文件

  • first_app_v1.1
    • web.config(添加url重写规则)
  • second_app_v2.1
  • web.cofig(如果(我们在sub.domain.com){去第二个应用程序}其他{去第一个应用程序})

这样部署将更安全,如果我需要回去做一个不同的版本,它会容易得多。 我是这个技术的新手,如果有更好的方法来做到这一点,我会欣赏一些资源。

我使用asp.net mvc,不知道你是否做。

我会简单地读取哪个是传入域,并根据哪个域,呈现适当的angular度configuration的视图。 似乎比乱搞web.config和URL重写更容易。 显然,你会根据你正在渲染的视图/angular度的应用程序提供适当的js文件。

在服务器上的逻辑将是最小的。 在IIS中,您只需将两个域指向同一个asp.net文件夹即可。 这个解决scheme基本上涉及在一个asp.net网站的上下文中创build两个SPA。

如果你有兴趣,我会很高兴发布代码。