【问题标题】:Symfony2, Backbone and PushstateSymfony2、Backbone 和 Pushstate
【发布时间】:2013-07-12 19:56:56
【问题描述】:

我使用 symfony2 routing.yml 调用主页面:

web_homepage:
    pattern:  /
    defaults: { _controller: SWebBundle:Default:index }

在这个页面我调用Require,Backbone,使用PushState,一切OK,但是,如果一个用户去,例如:

example.com /categories/animals

然后复制这个url直接访问,Symfony2返回404

我也使用模式 '/config/...' 和 '/api/...' 进行很多调用,以及 login/login_check

好吧,我想如果没有出现在路由中的所有调用都存在任何参数“默认”,或者排除配置和 api,因为我们从主干.js 控制器 404。

谢谢^^

【问题讨论】:

    标签: symfony backbone.js pushstate


    【解决方案1】:

    这是我对 Symfony 2.3.2 的解决方案:

    routing.xml

    <routes>
        <route id="MyBundle.Default.index" path="/app">
            <default key="_controller">MyBundle:Default:index</default>
        </route>
        <route id="MyBundle.Default.index2" path="/app/{url}">
            <default key="_controller">MyBundle:Default:index</default>
            <requirement key="url">.+</requirement>
        </route>
    </routes>
    

    控制器:

    class DefaultController extends Controller
    {
        public function indexAction()
        {
            return $this->render('MyBundle:Default:index.html.twig');
        }
    }
    

    这是我使用https://stackoverflow.com/a/7892022的原因:

    <requirement key="url">.+</requirement>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 1970-01-01
      • 2014-01-03
      • 2018-11-16
      • 2013-07-19
      • 2011-11-30
      • 1970-01-01
      相关资源
      最近更新 更多