我正在尝试将两个Angular应用程序部署到一个应用程序服务计划中,其中一个应用程序可以通过baseurl访问,另一个可以通过baseurl / app1访问
我能够使用虚拟目录路径映射使其工作。但是问题是,当我尝试执行baseurl / app1 / route时,无法访问角深路由。
<rewrite>
<rules>
<rule name="Angular routing to checkout" stopProcessing="true">
<match url="^app1/.*"/>
<conditions logicalGrouping="MatchAll">
</conditions>
<action type="Rewrite" url="/app1/" appendQueryString="true"/>
</rule>
</rules>
</rewrite>
我需要一种方法让Angular应用程序处理/ app1 / route的内部路由。
答案 0 :(得分:0)
此web.config
对我有用:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="app2" stopProcessing="true">
<match url="^app2/.*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/app2/" />
</rule>
<rule name="app" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
<caching enabled="true" enableKernelCache="true">
<profiles>
<add extension=".js" policy="DisableCache" kernelCachePolicy="DisableCache" />
</profiles>
</caching>
</system.webServer>
</configuration>
在我的appService中,它看起来像这样:
-- wwwroot // angular build of main app
-- wwwroot_app2 // angular build of second app available on /app2
我将web.config
放在wwwroot
内。如果我没记错的话,在appService中只有一个web.config
文件很重要。
还要记住在第二个应用程序中正确设置baseHref
和deployUrl
。