我正在使用Ben Almans插件进行哈希变更跟踪:
http://benalman.com/projects/jquery-hashchange-plugin/
此外,我已经修改了我的Web配置,以便在您输入www.mysite.com/test1
时,PHP使用 test1值抓取字符串,将其转发到JavaScript。 JavaScript通过AJAX将其发送到服务器端脚本并返回 test1 page 。
在地址栏中写入www.mysite.com/test1
的所有用户获得 test1页面之后。
一切都很好。
现在。如果输入www.mysite.com
,则只能看到索引页面,并且有一个指向 test1页面的链接。
如果按下它,它会生成地址www.mysite.com/#test1
,并且由于该#
哈希更改插件可以在您按下后退按钮时使用AJAX返回。
我想要的是拥有这样的哈希更改插件或方法或系统,它们不需要那些#
标志。因为我希望用户看到像www.mysite.com/test1
一样的干净地址。
这可能吗?
答案 0 :(得分:0)
那是不可能的。 #
是该位置的哈希部分的前缀。哈希通常不会发送到服务器,因此,更改哈希不会导致页面请求。
当您省略sharp(这是#
字符的名称)时,将启动页面请求。
如果你想要SEO网址,我建议使用这个“
<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>
这将绑定文档中每个onclick
元素的<a>
,其中href
属性以基本网址开头。