繁体   English   中英

AJAX SEO-后退和前进按钮

[英]AJAX SEO - back & forward buttons

我正在使用Ben Almans插件进行哈希更改跟踪:

http://benalman.com/projects/jquery-hashchange-plugin/

另外,我还修改了我的Web配置,以便当您输入www.mysite.com/test1 ,PHP会获取具有test1值的字符串,并将其转发给JavaScript。 JavaScript通过AJAX将其发送到服务器端脚本,并返回test1页面

在所有用户在地址栏中写入www.mysite.com/test1 ,将获得test1页面 一切都好。

现在。 如果输入www.mysite.com ,则只会看到索引页面,并且有指向test1页面的链接。 如果您按下它,它的地址为www.mysite.com/#test1 ,由于这个原因, #哈希更改插件可以在您按下返回按钮时使您使用AJAX。

我想要的是拥有不需要这些#符号的哈希更改插件或方法或系统。 原因我希望用户看到与www.mysite.com/test1相同的干净地址。

那可能吗?

那不可能 #是位置的哈希部分的前缀。 哈希通常不会发送到服务器,因此,更改哈希不会导致页面请求。

当您省略尖锐字符(即#字符的名称)时,将启动页面请求。

如果您要使用SEO URL,建议您使用“

<script>
$(document).ready(function(){
    var base_url = location.protocol + "//" + location.host + "/";
    $("a[href^='+base_url+']").bind("click", function(ev){
        location.hash = $(this).href.substr(base_url.length)
        ev.preventDefault();
    })
});
</script>
<a href="http://www.mysite.com/test1">Link</a>

这将在文档中的每个<a>元素上绑定一个onclick ,并带有一个以基本URL开头的href属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM