react create app ,nginx服务器配置

server{
    listen 80;
    server_name www.domain.com domain.com;
    location ~* \.js$ {
        root /home/hard/Project/game/web-client/build/js;
    }
    location / {
        root /home/hard/Project/game/web-client/build/html/;
    }
    location ~* html {
        rewrite .* /index.html break;
        root /home/hard/Project/game/web-client/build/html/;
    }
}

  

增加了一个 location 用来配置uri里头有html的,我用html来标识是否是客户端页面。

通过rewrite .* /index.html break;把一切path重写为/index.html,break很重要,它使得url的匹配结束,最终服务返回的文档其实是/home/hard/Project/game/web-client/build/html/index.html

那个break决定了浏览器里的url是不变的,而http响应的文档其实就是index.html,而浏览器上的path,会自动的被react-router处理,进行无刷新的跳转,我们看到的结果就是path对应了那个页面!

posted on 2017-08-01 15:31  shenggen  阅读(354)  评论(0编辑  收藏  举报

导航