react部署nginx路由頁(yè)直接訪問(wèn)404解決方案
之前一直遇到react項(xiàng)目部署服務(wù)器在nginx下直接訪問(wèn)某個(gè)路由就報(bào)404找不到錯(cuò),這是因?yàn)閚ginx不理解單頁(yè)應(yīng)用,我還準(zhǔn)備直接把react渲染成html,來(lái)解決這個(gè)問(wèn)題,但這樣絕對(duì)是非常麻煩。
而在今天終于找到了解決方案,只需要nginx的一個(gè)配置就可以解決
? ? try_files $uri /index.html
這行代碼是什么意思呢?
????????關(guān)鍵點(diǎn)1:按指定的file順序查找存在的文件,并使用第一個(gè)找到的文件進(jìn)行請(qǐng)求處理
關(guān)鍵點(diǎn)2:查找路徑是按照給定的root或alias為根路徑來(lái)查找的
關(guān)鍵點(diǎn)3:如果給出的file都沒(méi)有匹配到,則重新請(qǐng)求最后一個(gè)參數(shù)給定的uri,就是新的location匹配
關(guān)鍵點(diǎn)4:如果是格式2,如果最后一個(gè)參數(shù)是 = 404 ,若給出的file都沒(méi)有匹配到,則最后返回404的響應(yīng)碼
????完美的匹配了這種單頁(yè)應(yīng)用需求,我是在寶塔面板下建立站點(diǎn),所以直接在寶塔站點(diǎn)下修改站點(diǎn)配置添加進(jìn)去這行就可以了
server{
? ? try_files $uri /index.html
}
標(biāo)簽: