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

时间:2016-07-29 12:02:48

标签: url-routing single-page-application github-pages

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

可能吗?

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

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

3 个答案:

答案 0 :(得分:1)

如果您可以列出应用程序的所有可能URL,则可以在github页面上使用jekyll redirect from

可悲的是,很难列出包含特定ID或名称的所有网址,例如/path/customer/id,其中id可以是任何整数。

您必须找到其他托管服务,例如netlifycloudcanon,以便您配置真正的重定向。

答案 1 :(得分:1)

结帐Single Page Apps for GitHub Pages。它使用带有重定向脚本的自定义404.html文件始终提供index.html,同时保留最初请求的路径。

答案 2 :(得分:0)

这也许适合您,但似乎您正在设置SPA的路由。正是由于这个原因,许多基于客户端的路由器提供基于哈希的路由,因此您不必配置托管服务提供商即可将URL重定向为返回索引。

解决方案的前景似乎是:

  1. 使用基于哈希的路由

    USE: https://example.com/index.html#inner/path
    NOT: https://example.com/inner/path
  2. custom 404 page用于gh页以redirect all missed traffic back to index.html

  3. 选择其他free static hosting provider,以允许基本的URL重写或重定向,例如:

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

进一步阅读