GWT中没有哈希(#)的URL

时间:2014-07-17 13:31:05

标签: java gwt url-rewriting

GWT 中,我需要在网址中使用,以便从一个页面导航到另一个页面,例如。 www.abc.com/#questions/10245857但由于我在分享网址时面临问题。 Google抓取工具只在#ie www.abc.com之前阅读网址。

现在我想从我的网址中删除#并希望保持原样,如www.abc.com/question/10245857。

我无法这样做。请帮我一些链接或代码。 谢谢

2 个答案:

答案 0 :(得分:2)

如果您想要不使用哈希的网址,则必须使用HTML5 pushStatebrowser compatibility)。

如果您直接使用History课程,则无法执行此操作;您必须创建自己的使用History的{​​{1}}类,并在代码中使用该类,而不是内置GWT。

如果您使用商家信息,那么您就可以轻松实现pushState而不是使用Historian;例如https://gist.github.com/tbroyer/1883821

如果您需要支持不具有DefaultHistorian的浏览器,那么事情会变得复杂得多。

虽然有其他选择:

答案 1 :(得分:0)

#表示应用程序内部的位置,以便更改URL尝试创建不同的GWT入口点模块可以解决此问题 - 这次只会有一个Web应用程序,但每个模块都可以通过不同的URL访问。查看这篇文章http://www.summa-tech.com/blog/2011/02/22/structuring-gwt-modules-for-large-applications/