单页应用nginx配置


我有个网站www.a.com
我希望访问www.a.com/**,
除了www.a.com/api/**的时候直接显示index.html
我的配置如下:


 server {
    listen       80;
    server_name  www.a.com;

    location /api {
        proxy_pass http://localhost:8080/api;
        proxy_set_header Host $http_host;
    }
    location / {
        root   /usr/share/nginx/weather;
        index  index.html index.htm;
    }
}

现在遇到的问题是,
当我通过地址栏输入www.a.com/page1的时候,
我希望直接返回www.a.com/index.html,
但是现在却返回404!

前端 nginx 单页面应用

免贵姓喵名霸天 10 years, 11 months ago

这个应该用rewrite
if($request_uri !~ ^api/.*){
rewrite $1/index.html break;
}

hea7ven answered 10 years, 11 months ago

Your Answer