如何设置NGINX以部署动态多页单页应用程序?

时间:2017-07-12 17:15:16

标签: html nginx

我的目标:

使用nginx作为前端服务器,我有多个HTML和单页应用程序(作为HTML文件),其他静态文件将上传到CDN(如.js / .css / .img)。

那么,如何设置nginx配置一次,解决所有动态SPA?

server {
  listen       80;
  server_name  example.com;
  rewrite ^(/.*)\.html(\?.*)?$ $1$2 permanent;
  rewrite ^/(.*)/$ /$1 permanent;
  root  /opt/vipkid/ngTest;
  expires -1;

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

  location ~* ^/(?<single>.+)/.*$ {
      try_files $uri/index.html $uri.html $uri/ $uri /$single/index.html =404;
  } 
}

现在我有这样的文件:

├── dira
│   ├── index.html
│   └── suba.html
├── dirb
│   └── index.html
└── index.html

使用上面的配置,我可以达到:

  • 去example.com;渲染:/index.html正确
  • 去example.com/dira;渲染:/dira/index.html正确
  • 去example.com/dira/suba;渲染:/dira/suba.html右侧
  • 去example.com/dirb;渲染:/dirb/index.html正确
  • go example.com/dirb/single-route;渲染:/dirb/index.html正确
  • Go example.com/dirb/single-route/sub;渲染:404错误

那么,如何配置ningx来解决这个问题呢?感谢〜

0 个答案:

没有答案