首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有散列的页面加载/刷新上的主干js路由

没有散列的页面加载/刷新上的主干js路由
EN

Stack Overflow用户
提问于 2015-05-24 18:24:27
回答 2查看 724关注 0票数 0

我的路由器里有这个

代码语言:javascript
复制
# 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'
)

在我启动路由器之后

代码语言:javascript
复制
new (App.Router)
Backbone.history.start 
 pushState: true

在我的html中我有这个

代码语言:javascript
复制
<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替换了它。

有人能帮我明白我做错了什么吗?非常感谢您的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-25 12:12:03

试试href="/#photography"

希望它能帮上忙

票数 0
EN

Stack Overflow用户

发布于 2015-05-26 15:02:11

问题是,您正在从您的HTTP服务器请求路径/photography,而它没有找到正确的文件。

您需要将服务器配置为为可能请求的任何(或特定的)路径提供html文件。

根据服务器(apache、nginx等)的不同,正确的方法会有所不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30426842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档