没有重定向的URL重写

时间:2014-06-18 07:33:46

标签: javascript php .htaccess mod-rewrite url-rewriting

我在弄清楚如何在不重定向页面的情况下更改URL时遇到了一些麻烦。例如,当您选择新歌时,soundcloud.com将不会重新加载页面,但该网址将更改为" soundcloud.com/AUTHOR/NAME"。我真的很想知道这是怎么可能的,他们是如何做到的。

到目前为止,我知道使用javascript,您只能在URL中重写#之后的值。使用.htaccess重写规则,我不确定您是否可以指定该页面不应重新加载。

任何人都可以指导我找到从哪里开始?非常感谢你!

1 个答案:

答案 0 :(得分:0)

看看pushState:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history

  

假设 mozilla.org/foo.html 执行以下JavaScript:   var stateObj = {foo:“bar”};   history.pushState(stateObj,“page 2”,“bar.html”);

     

这将导致显示URL栏    mozilla.org/bar.html ,但不会导致浏览器加载bar.html甚至检查bar.html是否存在。

这仅适用于HTML5浏览器。

更多讨论:Modify the URL without reloading the page