Reactjs 使用S3上托管的react router v3创建react应用程序,但不使用;以谷歌的身份获取;

Reactjs 使用S3上托管的react router v3创建react应用程序,但不使用;以谷歌的身份获取;,reactjs,amazon-s3,react-router,amazon-cloudfront,google-crawlers,Reactjs,Amazon S3,React Router,Amazon Cloudfront,Google Crawlers,我目前有一个React应用程序,通过CloudFront使用托管在S3上的React路由器v3创建React应用程序。该应用程序是托管在别处的PHP api的视图。react路由器设置为使用browserHistory 目前,我们正在尝试设置该应用程序,以便它可以被谷歌抓取,并正在使用谷歌网站管理员工具和“作为谷歌抓取”进行测试 主页没有问题,但任何内部页面甚至无法呈现,并返回“未找到” 该站点在尝试直接导航到新选项卡中的路线时,控制台中仍显示404错误(但按预期加载页面) 到目前为止,我所尝试

我目前有一个React应用程序,通过CloudFront使用托管在S3上的React路由器v3创建React应用程序。该应用程序是托管在别处的PHP api的视图。react路由器设置为使用browserHistory

目前,我们正在尝试设置该应用程序,以便它可以被谷歌抓取,并正在使用谷歌网站管理员工具和“作为谷歌抓取”进行测试

主页没有问题,但任何内部页面甚至无法呈现,并返回“未找到”

该站点在尝试直接导航到新选项卡中的路线时,控制台中仍显示404错误(但按预期加载页面)

到目前为止,我所尝试的: 1) 在googlebot的入口点导入babel polyfill。 2) 设置CloudFront错误页面以向/index.html发送404响应,并使用200 3) 将s3的错误页设置为index.html

据我所知,谷歌不应该仅仅为了抓取网站而要求服务器端渲染(SEO不是我们关心的问题),但我在网上找到的其他解决方案似乎都不能解决这个问题

我是否需要让整个应用程序能够处理SSR,比如:,或者我可以尝试其他方法,使页面在不设置任何服务器端的情况下可以爬行


如有任何进一步资源方面的帮助或指导,将不胜感激

我发现解决方法很简单。在cloudfront发行版中,将自定义错误页设置为有404个错误转到目标“/”,http响应为200


很多其他人都将其发布为目标为“/index.html”,如果这不起作用,请尝试上面的方法。

我发现解决方案非常简单。在cloudfront发行版中,将自定义错误页设置为有404个错误转到目标“/”,http响应为200


很多其他人都将其发布,目标为“/index.html”,如果这不起作用,请尝试上面的方法。

是否会因为您没有启用HTML5模式而发生这种情况@BalmySoftware当我查找HTML5模式时,它似乎在引用URL中的“#”。我的URL在我这方面看起来很好,在访问类似的内容时也能正常工作https:///category/item 通过浏览器,但谷歌无法找到任何类似“/category”的页面。这可能是因为你没有启用HTML5模式吗@BalmySoftware当我查找HTML5模式时,它似乎在引用URL中的“#”。我的URL在我这方面看起来很好,在访问类似的内容时也能正常工作https:///category/item 通过浏览器,但谷歌无法找到任何类似“/category”的页面