在 GWT 中,我需要在网址中使用#,以便从一个页面导航到另一个页面,例如。 www.abc.com/#questions/10245857但由于我在分享网址时面临问题。 Google抓取工具只在#ie www.abc.com之前阅读网址。
现在我想从我的网址中删除#并希望保持原样,如www.abc.com/question/10245857。
我无法这样做。请帮我一些链接或代码。 谢谢
答案 0 :(得分:2)
如果您想要不使用哈希的网址,则必须使用HTML5 pushState
(browser compatibility)。
如果您直接使用History
课程,则无法执行此操作;您必须创建自己的使用History
的{{1}}类,并在代码中使用该类,而不是内置GWT。
如果您使用商家信息,那么您就可以轻松实现pushState
而不是使用Historian
;例如https://gist.github.com/tbroyer/1883821
如果您需要支持不具有DefaultHistorian
的浏览器,那么事情会变得复杂得多。
虽然有其他选择:
pushState
并实现必要的服务器端挂钩:https://developers.google.com/webmasters/ajax-crawling/(有些项目通过在服务器上的HTMLUnit伪浏览器中运行GWT应用程序来实现此目的; IIRC,GWT -Platform有这样的功能)答案 1 :(得分:0)
#表示应用程序内部的位置,以便更改URL尝试创建不同的GWT入口点模块可以解决此问题 - 这次只会有一个Web应用程序,但每个模块都可以通过不同的URL访问。查看这篇文章http://www.summa-tech.com/blog/2011/02/22/structuring-gwt-modules-for-large-applications/