沃梦达 / IT编程 / 前端开发 / 正文

使用HTML5推送状态URL为单页网站配置nginx

如何配置nginx将所有URL(不带/ api或某些静态资源,如JS / images)添加到index.html?原因是我使用HTML5推送状态URL与单页面应用程序.无论是AJAX还是JS,意义内容都会根据URL进行更改我当前的nginx配置如下:server {...

如何配置nginx将所有URL(不带/ api或某些静态资源,如JS / images)添加到index.html?原因是我使用HTML5推送状态URL与单页面应用程序.无论是AJAX还是JS,意义内容都会根据URL进行更改

我当前的nginx配置如下:

server {
    listen 2000;
    server_name localhost;

    location / {
        root    /labs/Projects/Nodebook/public;
        index   index.html;
    }

    location /api/ {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://localhost:3000/;
        proxy_redirect off;
    }
}

解决方法:

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

这将检查所请求的文件是否存在并将其返回.如果该文件不存在,则返回index.html.

http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files

本文标题为:使用HTML5推送状态URL为单页网站配置nginx