【发布时间】:2019-08-15 18:14:21
【问题描述】:
我们正在将我们的 React Web 应用从 Windows 应用服务迁移到 Linux 应用服务。我们有一个自定义的 web.config 来处理路由,这样当用户手动访问我们的一个路由时,他们就不会遇到 404。此修复不适用于 Linux 应用服务。
我们遇到了 404,我们需要它来工作,因为我们有用户应该能够到达的自定义路线。如果它们路由到默认的 index.html,则该站点可以工作,但自定义路由不会。我们已经尝试创建一个新的 Windows 应用服务并且迁移工作正常。关于如何让自定义路由在 Linux 应用服务中工作的任何想法?
这是我们当前使用的 web.config:
<?xml version="1.0"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<remove fileExtension=".otf" />
<remove fileExtension=".ttf" />
<remove fileExtension=".eot" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
<mimeMap fileExtension=".otf" mimeType="application/font-otf" />
<mimeMap fileExtension=".ttf" mimeType="application/font-ttf" />
<mimeMap fileExtension=".eot" mimeType="application/font-eot" />
<clientCache cacheControlMode="DisableCache" />
</staticContent>
<rewrite>
<rules>
<rule name="React Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
【问题讨论】:
-
您找到答案了吗?我正在处理同样的问题。
标签: reactjs azure react-router azure-web-app-service