【问题标题】:Gatsby website displays 404 page for other github pages reposGatsby 网站显示 404 页面用于其他 github 页面 repos
【发布时间】:2019-02-11 01:39:54
【问题描述】:

我正在使用 Github Pages 和 Netlify 来托管我的网站。这是一个使用 Gatsby 的静态站点。我也在使用自定义域。一切都适用于主站点。索引和所有其他页面按预期显示。

但是,我有其他使用 github 页面的存储库,我设置它们也使用我的域。当点击链接打开项目页面时,它会转到我的网站 404 页面。当我使用 github 页面为项目提供的网站的默认 url 时,加载正常。

【问题讨论】:

标签: javascript url-routing github-pages gatsby netlify


【解决方案1】:

有一些方法可以解决这个问题,但取决于您的用例和您想要提供链接的方式。

子域解决方案

为页面设置您的 GitHub 页面子域

CNAME

mysub.example.com

在您的 DNS 中为 mysub 名称创建一个 CNAME 条目,并将其值设为 YOUR-GITHUB-USERNAME.github.io,将 YOUR-GITHUB-USERNAME 替换为您在 github 上的用户名。

重定向解决方案

在构建文件夹的根目录中包含一个 _redirects 文件,以便 Netlify 提供您想要 proxy 的路径。

_redirects

/mysub/*  https://username.github.io/:splat  200!

注意:在 Gatsby 中,您将重定向放在 static/_redirects。如果您在 Gatsby 项目中使用 gatsby-plugin-netlify,您可以选择在该配置中设置上述配置 (see readme),但上述配置仍然兼容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-09
    • 2018-10-10
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    相关资源
    最近更新 更多