AJAX URL& URL重写

时间:2011-11-19 11:17:12

标签: ajax url-rewriting

我开始建立一个个人网站,我希望它的布局看起来像

-------------------------------
- Page Header & Menus Go Here -
-------------------------------
-        Main Contents        -
-------------------------------
-           Footers           -
-------------------------------

主要的问题是我希望它是一个单页面界面,其中主要内容被加载并使用AJAX和jQuery的组合显示以产生良好的效果。但是,我当然希望将内容添加到书签并由搜索引擎编入索引。我已经浏览了Single Page Interface Manifesto,这解释了实现这一目标的一些好方法,但我不想让我的网址像

http://www.mysite.com/index.php#!section=section1

http://www.mysite.com/index.php#!section=section2

我当然希望将它们重新编写为

http://www.mysite.com/section1

http://www.mysite.com/section2

我的问题是这种方法是否正确/可行,以及AJAX URL是否与URL重写兼容。无论如何,Google会将哪些网址编入索引?

3 个答案:

答案 0 :(得分:6)

如果您希望页面无需重新加载并同时更新页面的URL,那么通过更改URL中的哈希值(location.hash ='whatever')来实现此目的的唯一方法。

无法使用URL重写,因为散列不会发送到服务器,它只能在浏览器的范围内使用。

检查Facebook或Twitter网址。它们比#!section = section1更漂亮,但仍然需要散列。

干杯。

答案 1 :(得分:0)

如果要加载不同内容/标签/某些页面内容而不重新加载浏览器, 现在可以使用pjax ..

您可以使用http://padrino-pjax.heroku.com/之类的内容 你可以尝试一下,去链接点击任何链接回家,恐龙,外星人 并且您将看到它将更改网址和一些内容而无需重新加载整页

使用浏览器中的URL的ajax + push / pop来实现

答案 2 :(得分:0)

我正在寻找一个解决类似问题的解决方案(我有一个带有AJAXed wordpress主题的客户端站点,这些可怕的#!东西阻止了我迄今为止尝试过的所有社交共享插件正确)。

显然,有一个解决方案(有一些缺点...)。我在这里找到了它:http://moz.com/blog/create-crawlable-link-friendly-ajax-websites-using-pushstate

我知道你问过它已经两年了,但它可能对其他人有帮助,或者你可能只是为了好奇心本身就检查它! : - )