欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來到夢飛科技

服務器租用

當前優惠活動:

修改nginx設置辦理react-router欣賞器刷新呈現404頁面的問題

項目利用react-router,做成single page application,進口地點/home/hard/Project/game/web-client/build/html/index.html,通過域名domain.com就能會見到這個進口。

問題是,利用了路由之后,如果uri為domain.com/games.html,通過可以通過欣賞器api跳轉頁面,可一旦刷新頁面,就會報404。

我但愿的是路由到某個uri之后,縱然刷新頁面,或直接在欣賞器中輸入這個uri,一樣可以直接路由到games.html的頁面。

在論壇上提了問,幾天了沒人響應,也查不到相關的資料,所以說其實查不到的,也問不大白,還得靠本身摸索。

利用node的處事器http-server

我一開始沒多想,覺得是nginx的問題,也許node的處事器天然支持這一點。換了,問題沒有辦理。

開始的nginx設置



server "expression">{
     "variable">listen 80;
"line">    server_ "variable">name  "variable">www.domain.com  "variable">domain.com;
"line">    location ~* \ "variable">.js$ {
"line">        root  "end-block">/home "end-block">/hard "end-block">/Project "end-block">/game "end-block">/web-client "end-block">/build "end-block">/js;
"line">    }
"line">    location /  "expression">{
"variable">root  "end-block">/home "end-block">/hard "end-block">/Project "end-block">/game "end-block">/web-client "end-block">/build "end-block">/html/;
"line">    }
}

這個導致404是很明明的,假如uri是domain.com/games.html,那么nginx會試圖在/home/hard/Project/game/web-client/build/html/目次下找games.html,404是必定的。

nginx rewrite辦理

新的設置



server "expression">{
     "variable">listen 80;
"line">    server_ "variable">name  "variable">www.domain.com  "variable">domain.com;
"line">    location ~* \ "variable">.js$ {
"line">        root  "end-block">/home "end-block">/hard "end-block">/Project "end-block">/game "end-block">/web-client "end-block">/build "end-block">/js;
"line">    }
"line">    location /  "expression">{
"variable">root  "end-block">/home "end-block">/hard "end-block">/Project "end-block">/game "end-block">/web-client "end-block">/build "end-block">/html/;
"line">    }
"line">    location ~* html  "expression">{
"variable">rewrite  "variable">.*  "end-block">/index.html break;
"line">        root  "end-block">/home "end-block">/hard "end-block">/Project "end-block">/game "end-block">/web-client "end-block">/build "end-block">/html/;
"line">    }
}

增加了一個 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對應了誰人頁面!

夢飛科技 - 全球數據中心基礎服務領先供應商

Copyright © 2003-2019 MFISP.COM. 國外服務器租用 IDC公司 版權所有 ? 粵ICP備11019662號

主站蜘蛛池模板: 平乐县| 雷山县| 曲沃县| 清河县| 绥滨县| 潮安县| 稻城县| 扶沟县| 时尚| 精河县| 太谷县| 莎车县| 龙州县| 光泽县| 文山县| 安远县| 蒙自县| 东阳市| 德保县| 崇礼县| 江西省| 千阳县| 如东县| 红安县| 雷波县| 乌兰县| 佛学| 保德县| 上高县| 巨野县| 米易县| 巴林右旗| 马鞍山市| 镇平县| 阳东县| 安庆市| 游戏| 荃湾区| 谷城县| 吴桥县| 类乌齐县|