Symfony3 + Vuejs nginx配置

时间:2017-08-08 08:06:54

标签: symfony nginx routing vue.js

我目前正在编写一个应用程序,使用SF3作为后端,VueJs作为前端。

我使用带有基本路径'/'的控制器动作来渲染主模板(带有twig),其中包含js文件的链接和VueJs的div绑定。

Vuejs应用程序是一个单页应用程序并使用vue-router。 vue-router模式在生产模式下设置为历史记录,这就是我遇到问题的地方。 dev配置使用哈希没有任何问题。

我想配置我的nginx以便:

  
      
  1. 检查它是否与vuejs路线匹配
  2.   
  3. 如果没有检查它是否与symfony路线匹配
  4.   
  5. 如果没有,则重定向到某些404页面
  6.   

1和2可以恢复。

我当前的nginx位置是(默认的symfony):

`location / {
    try_files $uri /app.php$is_args$args;
}`

问题是当我在浏览器中重新加载vuejs路由时,我收到404错误。但是,导航到路线的路线工作正常。

如果有帮助,我的所有symfony路由都以API /或admin /

作为前缀

提前感谢任何指导。

分辨

我在symfony配置中添加了“后备”路由:

fallback:
  path: /{req}
  defaults: { _controller: 'AppBundle:Default:index' }
  requirements:
      req: ".+"

现在,每个未定义的url都会重定向到呈现VueJS应用的操作。如果url不管理已知的vue-router路由,则还会在vue-router中定义回退路由。

0 个答案:

没有答案