Nginx路线与单页面应用程序

时间:2017-07-22 22:57:53

标签: nginx centos7

我开始疯狂了。出于某种原因,路由不适用于我的单页应用程序。因此,www.example.com可以使用,但不是www.example.com/service。我阅读了很多关于如何修复它的帖子,但似乎没有任何效果。

这是我在/etc/nginx/conf.d/App.conf

的配置文件
server {
  listen 80;
  server_name example.com *.example.com;
  return 301 https://example.com$request_uri;
}
server {
  listen 443 ssl;
  server_name www.example.com;
  ssl_certificate /path/to/certificate/;
  ssl_certificate_key /path/to/certificate/key;

  root /var/www/App/public;
  index index.html;
  location / {
    try_files $uri /index.html;
  }
  ssl_session_timeout 5;
}

我尝试过各种不同的"位置"路线,似乎没什么用。我也用" sudo service nginx restart"重启服务。每次我改变。
有线索吗?

1 个答案:

答案 0 :(得分:0)

在评论中你说有一小组固定的可能路线。在这种情况下,您可以为每个路径添加位置块,并为顶层添加别名,例如

    location / {
            try_files $uri $uri/ =404;
    }

    location /services {
            alias /var/www/App/public;
            try_files $uri $uri/ =404;
    }

修改或者,如果您想提供顶级index.html以响应任何请求,

    location / {
            try_files /index.html =404;
    }