我正在使用Github页面和Netlify来托管我的网站。它是一个使用盖茨比的静态站点。我也在使用自定义域。对于主站点来说一切正常。索引和所有其他页面按预期显示。
但是,我还有其他使用 github 页面的存储库,我将其设置为也使用我的域。当单击链接以打开项目页面时,它会转到我的网站404页面。当我使用 github 页面为项目提供网站的默认 url 时,加载正常。
有一些方法可以解决这个问题,但取决于您的用例和您希望提供链接的方式。
子域解决方案
拥有页面的 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
,您可以选择在该配置中设置上述内容(请参阅自述文件(,但上述内容仍然兼容。