好的,有这样的解决方案,如Modify the URL without reloading the page,但我有一个问题。
所以这就是我打算做的事情(让我们假设我的网址是example.com) 1.使用pushState我计划将浏览器地址更改为example.com/myprofile/myalbum。所以要清楚,这个新网址可能存在也可能不存在,但浏览器地址无论如何都会改变。在我们的例子中,这个url实际上并不存在,但是我们使用地址来标记网页的更改状态。 2.使用ajax将关于“myprofile> myalbum”的数据加载到同一页面。
但现在这是我一直在思考的问题。如果用户直接在一个新标签页上加载example.com/myprofile/myalbum,该怎么办?此页面显然会抛出一个未找到的错误,因为它不存在。
那么如何加载对应于这个假网址的ajax?例如,http://www.usatoday.com/news/似乎做得很好(除非那是一个iframe,这不会那么好)。
答案 0 :(得分:1)
您可以向网络服务器添加重写规则,将特定网址或某些匹配模式转换为您的脚本可用于显示正确页面的内容。您可以让它仅在内部重写URL,因此用户仍然可以在浏览器中看到原始URL。如:
RewriteRule /myprofile/(\w*) /index.php?path=/myprofile/$1
不同的网络服务器可能会有不同的语法,但它们会相似。