如果我有一个index.html
文件并且它包含多个页面。当我加载页面时,我希望URL包含哈希#first
,即index.html#first
。相反,网址显示为index.html
。
到目前为止,我的工作是假首页,然后直接链接到index.html#first
,希望永远不会显示“真正的”第一页,即index.html#fake
。
有更好的方法吗?
<body>
<!--
fake page
-->
<div data-role="page" id="fake">
<div data-role="content">
fake
</div>
</div>
<!--
first
-->
<div data-role="page" id="first">
<div data-role="content">
first
</div>
</div>
<!--
second
-->
<div data-role="page" id="second">
<div data-role="content">
second
</div>
</div>
</body>
答案 0 :(得分:1)
为什么不检查JS是否在index.html页面上存在哈希码,如果不是,那么您可以将浏览器重定向到index.html#first
$(function () {
if (window.location.hash.length == 0) {
window.location = window.location.href + '#first';
}
});
答案 1 :(得分:0)
配置您的Web服务器,以便对“index.html”和请求“/”(没有文件的路径!)的请求返回301 Moved Permanently
响应以重定向到'index.html #first'
那说,我无法想象你为什么要强制哈希到网址上;也许是一个不够健壮的图书馆?正确编码,http://example.com/
,http://example.com/index.html
和http://example.com/index.html#first
可以而且应该(IMHO)的行为都相同。