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來標識是不是客戶端頁面。javascript
經過rewrite .* /index.html break;
把一切path重寫爲/index.html
,break
很重要,它使得url的匹配結束,最終服務返回的文檔實際上是/home/hard/Project/game/web-client/build/html/index.html
。html
那個break
決定了瀏覽器裏的url是不變的,而http響應的文檔其實就是index.html,而瀏覽器上的path,會自動的被react-router處理,進行無刷新的跳轉,咱們看到的結果就是path對應了那個頁面!java