azure - 如何将静态文件定义为 Azure 静态网站上的路由?

标签 azure web-config

我的用例是一个具有深层链接的静态 azure 网站。我希望我的 azure 网站在调用某些 URL 时返回我的 index.html 页面,例如/t/2

当使用 ASP.NET 为应用程序提供服务时,我可以通过将以下内容添加到我的路由中来实现此目的

routes.MapRoute(
            name: "DeepLink",
            url: "t/{*id}",
            defaults: new { controller = "Home", action = "Index" }
        );

我想通过静态网站实现相同的目标。我可以添加一个 Web.config,我可以用它来重定向/重写我的 URL,但我希望 URL 保留为/t/2,以便前端可以对其使用react。

最佳答案

刚刚遇到了同样的问题并偶然发现了这个线程 -

由于静态网站除了主要路由之外不知道任何路由 - 对于任何底层路由,它始终默认为未找到。

但是在 SPA 中,您没有静态 404 文档,您的 index.html 将为您处理该文档。

因此,您唯一要做的就是将 index.html 也指定为 404 文档,一切似乎都正常。

关于azure - 如何将静态文件定义为 Azure 静态网站上的路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54552818/

相关文章:

c# - Razor 引擎库在 azure 函数上引发错误

sql-server - 临时存储过程是否使用全局临时表?

azure - Azure 中的 EUAP 区域是什么?

azure - Azure Web 应用程序中的多个应用程序

web-config - 源文档中没有与/configuration/system.web/authorization/匹配的元素

asp.net-mvc - ASP.NET MVC web.config(多个)问题

asp.net - 在服务器、站点和应用级别设置 validationKey

azure - Select not in subquery select Cosmos DB,语法错误

asp.net - web.config 文件中的配置部分不能包含 CDATA 或文本元素错误

.net - 用 MSDeploy 替换整个配置文件