这是我之前的问题Backbone routing/history issue with Jekyll static pages的后续内容。
我正在使用Jekyll构建一个简单的静态站点,并使用Backbone进行一些路由。我的所有页面都是单独的HTML文件。我通过观看我的<a>
点击元素并使用jQuery.get
加载新页面并替换内容来处理导航。我知道,有点不寻常,但我想要一个页面,以便提供平滑过渡并保留我的网页字体。
问题在于,当我从根网址以外的任何页面开始时 - 让我们说/page1
- 导航,然后使用浏览器的后退按钮返回到我的第一页,我得到一个404:{ {1}}。这是一些示例导航:
/page1/page1 not found
请注意,从历史较深处返回localhost/page1/ <- entered into address bar
localhost/page2 <- linked from an <a>
localhost/page1 <- linked from an <a>
localhost/page3 <- linked from an <a>
localhost/page1 <- clicked back button; works fine
localhost/page2 <- clicked back button; works fine
localhost/page1/ <- clicked back button; 404 at /page1/page1
可以正常工作;这只是我的起跑路线让我感到悲痛。我认为当我手动输入第一个URL时,它可能与浏览器附加的尾部斜杠有关,但我不知道如何解决这个问题。
我在this JSFiddle发布了我的相关骨干代码。如您所见,我的路由器已初始化为page1
和silent: true
。
不知道该怎么做 - 几个星期以来一直撞在墙上!