gh-pages - 共享所有路线的index.html

gol*_*cks 5 url-routing github-pages single-page-application

我想为 gh-pages 上我的应用程序中的所有(子)url 提供相同的 index.html 页面

那可能吗?

现在当我去 repo/inner/path 时我得到 404

所以我想“强制”github页面在所有路由上提供相同的根index.html

Kyl*_*Mit 5

您可能会也可能不会这样做,但您似乎正在为 SPA 设置路由。许多基于客户端的路由器正是出于这个原因提供基于哈希的路由,这样您就不必配置托管提供商来将 url 重定向到返回索引。

解决方案的前景似乎是:

  1. 使用基于哈希的路由

    USE: https://example.com/index.html#inner/path
    NOT: https://example.com/inner/path
    Run Code Online (Sandbox Code Playgroud)
  2. 使用gh-pages 的自定义 404 页面将所有错过的流量重定向回 index.html

  3. 选择不同的免费静态托管提供商,允许基本的 url 重写或重定向,例如:

github 目前似乎不支持此功能,因此您要么需要避免对服务器的深层链接请求,要么更改为允许您这样做的托管提供商。

延伸阅读


Dav*_*uel 1

如果您可以列出应用程序的所有可能的 url,则可以使用github-pages 上的jekyll 重定向

/path/customer/id遗憾的是,列出包含特定 id 或名称(例如id 可以是任何整数)的所有 url 是很困难的。

您将必须找到另一个托管服务,例如netlifycloudcanon,它允许您配置真正的重定向。