Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redirect 301在Heroku上使用GatsbyJS重定向_Redirect_Heroku_Routing_Seo_Gatsby - Fatal编程技术网

Redirect 301在Heroku上使用GatsbyJS重定向

Redirect 301在Heroku上使用GatsbyJS重定向,redirect,heroku,routing,seo,gatsby,Redirect,Heroku,Routing,Seo,Gatsby,我刚刚使用GatsbyJS完成了一个应用程序的开发。我正在heroku上托管我的web应用程序。我有一个自定义域,它是通过支持SSL的heroku来反转的。现在我可以访问以下域: http://myapp.com https://myapp.com http://www.myapp.com https://www.myapp.com 通常,您希望有301个从www到非www的重定向,以及从http://到https://的重定向。因为heroku路由器没有强制SSL的能力,所以他们希望您在应用

我刚刚使用
GatsbyJS
完成了一个应用程序的开发。我正在heroku上托管我的web应用程序。我有一个自定义域,它是通过支持SSL的heroku来反转的。现在我可以访问以下域:

http://myapp.com
https://myapp.com
http://www.myapp.com
https://www.myapp.com
通常,您希望有301个从
www
非www
的重定向,以及从
http://
https://
的重定向。因为heroku路由器没有强制SSL的能力,所以他们希望您在应用程序级别处理重定向

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


感谢您的帮助。

不熟悉Heroku,但如果无法进行301重定向,请确保您的页面具有
标记。这是一种向搜索引擎提示要编制索引的URL的方法。此外,您可以使用
onclientry
API在客户端上重定向到https://我刚刚知道如何让它在heroku上运行。因为我没有从盖茨比本身找到任何解决方案,所以我调整了我的部署以匹配盖茨比文档。我现在使用heroku构建包来构建我的项目。执行此操作时,您可以定义一个名为
static.json
的文件

此文件具有以下选项:

“仅限https_”:正确,
“canonical_主机”:“yoursite.com”


通过这些选项,heroku可以让应用程序从www重定向到非www,从http重定向到https。更多信息请点击此处:

你好,谢谢你的建议。由于我将从应用程序向其他服务发布数据,我需要确保它不可能通过http提交。另外,从www到非www的重定向对搜索引擎优化非常不利。事实上,规范链接将帮助您不为“重复内容”编制索引。我并不完全了解盖茨比的所有浏览器api。我将在客户机上尝试
onclientry
。我仍然不确定它是否适合我的需要。我希望能够改变位置,但我也需要将其作为301响应