我已经通过使用骨干网站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中的任何处理程序?

谢谢!

最佳答案

由于骨干网在做路由,因此浏览器在加载之前必须具有正确的内容。如果希望将pushStateBackbone一起使用,则必须欺骗您的网络服务器为所有可能的路线提供相同的html页面。在IIS中,我们这样做的方式是设置.NET路由设置,以便加载所需的骨干资产,以便它可以直接进行路由。

或者,您可以在pushState中禁用Backbone.history.start()并使用基于哈希的路由。 (myurl /#/ myroute)

09-25 15:37