我正在开发一个网站,该网站有一个基本滑块,左侧和右侧有4张幻灯片,只显示页面中心的1张幻灯片。所有幻灯片的内容都加载在一个页面上,每个页面都在它自己的div中。
<div id="slider-box">
<div class="slide">HTML and bg image</div>
<div class="slide">HTML and bg image</div>
<div class="slide">HTML and bg image</div>
<div class="slide">HTML and bg image</div>
</div>
没什么特别的。此外,每张幻灯片都与一个链接相关联:
<a href="/gallery">Gallery</a>
<a href="/links">Links</a>
<a href="/about">About</a>
<a href="/resources">Resources</a>
所以我开始使用History.js将每张幻灯片与其各自的链接相关联; www.example.com/about。我可以毫无问题地改变国家;后退和前进工作以及URL更改。
我确实注意到的是,如果我使用虚假网址加载页面,例如www.example.com/about,页面会返回404.
我可以做些什么来阻止404发生,还要确保页面被带到正确的幻灯片?
我应该采取另一种方式吗?
我正在使用jQuery和HTML5进行LAMP堆栈。
我真的被困在这一个......谢谢!
答案 0 :(得分:1)
如果我理解正确,您实际上必须创建/about
,/gallery
等页面。想想看 - 历史API只能在一个页面内工作。它操纵地址栏所说的内容,但它不会自己创建实际的URL。
我的解决方案是使用类似mod_rewrite的东西。 /about
会重定向到/?p=about
之类的内容,该内容会加载您的网页,相应的div
已经打开。其他幻灯片也一样。只有这样,您才能使用History API的功能。
答案 1 :(得分:0)
我们的Web服务器处理HTTP 404错误,请参阅您的Web服务器文档,了解如何使用重定向等创建自定义错误页面。如果您使用的是Microsoft Internet Information Server 7,请查看此处http://blogs.iis.net/rakkimk/archive/2008/10/03/iis7-enabling-custom-error-pages.aspx