我正在创建一个网站,将我的所有内容加载到我的主index.php中。我试图让它使用干净的URLS。
此URL会将home.php加载到index.php中。我正在使用history.pushstate()更新我的历史记录,但在某些页面上我想要更深入的URL。
示例:http://www.host.com/forum/topicName
这会将论坛页面加载到索引中,并从mySQL获取主题名称并显示它。但是,如果我点击其中一个导航按钮,这里的网址最终会像这样......
示例:http://www.host.com/forum/home
我想要清理那个/论坛,然后离开/ home这里是我的一些代码到目前为止。
function myNav(whereTo)
{
window.history.pushState(null, null, whereTo);
var toLoad = 'pages/'+whereTo+'.php';
$('#mainContent').load(toLoad);
}
这就是我现在正在使用的快速解决方案,我希望有更好的方法。
if(window.location.pathname.lastIndexOf('/') != 0)
window.location.pathname = whereTo;
else
window.history.pushState(null, null, whereTo);
答案 0 :(得分:0)
谢谢dandavis。我想在
中添加一个/到URL的开头 window.history.replaceState(stateObj, title, URL);
替换整个pathName,而不是像我一样,只是添加页面名称。