Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/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
Seo hashHistory、转义片段和Google_Seo_React Router_Google Search - Fatal编程技术网

Seo hashHistory、转义片段和Google

Seo hashHistory、转义片段和Google,seo,react-router,google-search,Seo,React Router,Google Search,我与React Router合作已有一段时间了,我一直在使用hashHistory来处理路由。在某个时候,我会将应用程序转换为浏览器历史记录,但我很好奇,为什么谷歌的“以谷歌身份获取”功能除了根路由之外似乎不适用于其他任何东西(/)。很明显,它在呈现一些东西,而不是服务器未处理的路由。(下图) 我看到谷歌已经做到了,这让我相信我不再需要处理?\u转义\u片段=,但即使如此,我也无法让谷歌呈现任何其他路线 例如,网站是www.learnphoenix.io,课程列在www.learnphoeni

我与React Router合作已有一段时间了,我一直在使用
hashHistory
来处理路由。在某个时候,我会将应用程序转换为
浏览器历史记录
,但我很好奇,为什么谷歌的“以谷歌身份获取”功能除了根路由之外似乎不适用于其他任何东西(
/
)。很明显,它在呈现一些东西,而不是服务器未处理的路由。(下图)

我看到谷歌已经做到了,这让我相信我不再需要处理
?\u转义\u片段=
,但即使如此,我也无法让谷歌呈现任何其他路线

例如,网站是
www.learnphoenix.io
,课程列在
www.learnphoenix.io/#/phoenix chat/lessons
下。然而,Google在webmaster中的功能重定向到主页,只呈现主页。使用
\u转义\u片段
会得到相同的结果


有没有一种方法可以让谷歌使用
hashHistory
对我的网站进行索引,或者我必须接受只有我的主页才会被索引,直到我切换到
browserHistory

默认情况下,谷歌似乎忽略了url片段(#)。根据这篇可能注明日期的文章,使用#!将告诉谷歌,这些片段可以用来定义不同的规范页面

尽管ReactRouter不支持Hashbang,但还是值得一试,因为它应该被弃用

更好的选择可能是咬紧牙关,在react路由器中使用
browserHistory
(pushState)。问题是,如果您运行的是静态无服务器应用程序,那么像
/phoenix chat/lessons
这样的路径将返回404。在美国焊接学会(AWS)中,也有关于这一点的黑客攻击。将404页面设置为应用程序索引页面


感觉很脏,但还是值得一试。希望这个答案对你有价值

是的,这可能是我们能得到的最好的了。我想对于单页应用程序,你真的需要确保就谷歌而言,它实际上是一个单页。