在nginx中无法直接访问的角度路由

Ric*_*lch 7 nginx angularjs

这是交易:我设置了最简单的nginx配置来练习角度,我配置了routeProvider来使用html5mode.到现在为止还挺好!我将基数设置为'/',我的/ view1和/ view2的链接工作正常,但只有当我在索引页面中单击这些链接时.当我尝试直接在浏览器中访问它们(或重新加载页面)时,nginx返回403禁止.这是一个简单的配置,但我找不到一个简单的解释:(

我希望以任何路由正常工作的方式设置,而不必在我的nginx site.conf中明确设置它(逐个).顺便说一下,权限很好!

这是实际的conf文件:

server {
    listen  *:80;
    server_name rbs.ang;
    root    /_dev/angularjs/app;
    index   index.html;
    charset UTF-8;

    location / {
        expires -1;
        add_header  Pragma "no-cache";
        add_header  Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
        try_files   $uri $uri/ index.html;
   }
}
Run Code Online (Sandbox Code Playgroud)

小智 1

您需要在服务器上配置后备路由,以便在路由不匹配时提供 index.html 文件。这有效:

location / {
    try_files $uri $uri/ /index.html?$query_string;
}
Run Code Online (Sandbox Code Playgroud)