301在Heroku上使用GatsbyJS重定向

时间:2019-12-03 22:33:20

标签: redirect heroku routing seo gatsby

我刚刚使用GatsbyJS开发了一个应用程序。我将Web应用程序托管在heroku上。我有一个通过heroku反转并具有SSL支持的自定义域。现在,我可以访问以下域:

http://myapp.com
https://myapp.com
http://www.myapp.com
https://www.myapp.com

通常,您需要从wwwnon-www以及从http://https://的301重定向。由于heroku路由器没有强制SSL的能力,因此他们希望您在应用程序级别处理重定向。

我没有在GatsbyJS中找到针对SEO优化的301重定向的任何解决方案。

任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

不熟悉Heroku,但是如果无法进行301重定向,只需确保页面具有<link rel="canonical" href="" />标签即可。这是一种提示搜索引擎要索引的URL的方法。另外,您可以使用onClientEntry API重定向到客户端上的https://。

答案 1 :(得分:0)

我只是想出了如何使其在heroku上运行。由于未从gatsby本身找到任何解决方案,因此我调整了部署以匹配gatsby文档。现在,我使用heroku buildpacks构建我的项目。这样做时,您可以定义一个名为static.json的文件。

此文件具有以下选项: "https_only": true, "canonical_host": "yoursite.com"

使用这些选项,heroku将使应用程序准备好从www重定向到非www以及从http重定向到https。这里的更多信息:https://www.gatsbyjs.org/docs/deploying-to-heroku/