我已经通过使用骨干网站js创建了一个小型网站。它托管在IIS 7中。
路由:
routes: {
"/": "index",
"": "index",
"detailedpage/:id": "detailedpage",
'*notFound': 'index'
}
尝试复制/粘贴网址时出现问题。
如果我想直接访问
http://www.anydomain.com/detailedpage/1234
它不起作用。我可以在开发人员工具中看到内部服务器错误1234,路径“ / detailedpage”。
奇怪的是,如果我先访问
http://www.anydomain.com/
然后复制/粘贴网址
http://www.anydomain.com/detailedpage/1234
它正在工作。
您能否告诉我是否需要启用/禁用IIS中的任何处理程序?
谢谢!
最佳答案
由于骨干网在做路由,因此浏览器在加载之前必须具有正确的内容。如果希望将pushState
与Backbone
一起使用,则必须欺骗您的网络服务器为所有可能的路线提供相同的html页面。在IIS
中,我们这样做的方式是设置.NET
路由设置,以便加载所需的骨干资产,以便它可以直接进行路由。
或者,您可以在pushState
中禁用Backbone.history.start()
并使用基于哈希的路由。 (myurl /#/ myroute)