Car*_*pon 5 asp.net azure azure-storage reactjs
我在Azure Blob存储中托管了一个页面的React应用程序,但正在获取所请求的内容不存在。深入链接到页面时出错:
我已在存储帐户中启用了静态网站选项:
这些文件都放在$ web容器中:
这包括以下带有重写规则的web.config,该规则应让index.html处理所有路由:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<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" />
</conditions>
<action type="Rewrite" url="/" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
谁能看到我哪里出问题了?
Azure 存储 GPv2 中的静态网站与 Azure 应用服务不同。它只托管这些静态网页文件,其中包括 HTML/CSS/JavaScript 文件,其他文件可以在浏览器中处理,如图像robots.txt等。由于没有 IIS,它无法处理服务器端脚本。因此,您的web.config文件对于更改访问路由并属于 IIS 的服务器端脚本来说是没有意义的。
其实你可以在Azure门户中看到这些字样。
配置静态网站托管的 blob 服务使你能够在存储帐户中托管静态内容。网页可能包括静态内容和客户端脚本。Azure 存储不支持服务器端脚本编写。 了解更多
并参考Learn more链接Static website hosting in Azure Storage
与静态网站托管相比,依赖服务器端代码的动态网站最好使用 Azure 应用服务托管。
如果需要 URL 重写功能,我建议您的应用程序使用 Azure 应用服务。
| 归档时间: |
|
| 查看次数: |
908 次 |
| 最近记录: |