没有重定向的URL重写

URL rewriting without redirection

本文关键字:URL 重写 重定向      更新时间:2023-09-26

我有点麻烦,不知道如何在不重定向页面的情况下更改URL。例如,soundcloud.com将不会重新加载页面,当你选择一首新歌,但url更改为"soundcloud.com/AUTHOR/NAME"。我真想知道这是怎么可能的,他们是怎么做到的。

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

有谁能告诉我从哪里开始吗?非常感谢!

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

假设mozilla.org/foo.html执行以下JavaScript:var statobj = {foo: "bar"};历史。pushState(statobj, "page 2", "bar.html");

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

这只适用于HTML5浏览器。