我在一个Azure App Service中托管了四个不同的应用程序-2个静态reactjs网站和2个.NET核心API。
应用程序设置在不同的虚拟目录中:
/
/api
/admin
/admin/api我正在尝试编写一个重定向规则,以便可以使用静态站点的react-router路由,但也可以使用.NET核心API路由。
这是我尝试的管理路由,但唯一有效的是静态站点的路由,而不是API
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ReactRoutes" stopProcessing="true">
<match url="admin/(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" matchType="Pattern" pattern="api/(.*)" negate="true" />
</conditions>
<action type="Rewrite" url="/admin/" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>发布于 2019-07-17 06:14:36
我通过在/admin根目录中编写以下web.config修复了管理员的规则
<?xml version="1.0"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rewrite Admin React Routes" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_URI}" pattern="^/admin/api(.*)$" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/admin/index.html" logRewrittenUrl="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>https://stackoverflow.com/questions/57031550
复制相似问题