[英]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.