我在路由器中有这个
# ROUTING
App.Router = Backbone.Router.extend(
routes:
'': 'homePage'
'photography': 'photographyPage'
'about': 'aboutPage'
'contant': 'contantPage'
initialize: ->
that = this
@route 'photography', 'photographyPage', ->
that.photographyPage()
pageWrapper = $('#pageWrapper')
content = $('#content')
homePage: ->
console.log 'homepage'
photographyPage: ->
console.log 'photography'
)
启动路由器后
new (App.Router)
Backbone.history.start
pushState: true
在我的HTML中我有这个
<nav>
<a href="/photography" class="inbound-link">Photography</a>
<a href="/about" class="inbound-link">About</a>
<a href="/contact" class="inbound-link">Contact</a>
</nav>
我能够很好地导航到上面的链接。但是我遇到了一个问题,如果我降落在http://website.com/photography
并刷新页面,我会找不到404。或者,如果我直接去那个网址,我也会得到404。我尝试了这条路线http://website.com/#/photography
,然而当它加载时,它会删除#
并将其替换为http://website.com/photography
有人能帮我理解我做错了什么吗?非常感谢您的帮助!
答案 0 :(得分:1)
问题是您从HTTP服务器请求路径/photography
,而且找不到正确的文件。
您需要将服务器配置为为可能请求的任何(或某些)路径提供html文件。
正确的方法取决于您的服务器(apache,nginx等)