摘要:發(fā)現(xiàn)路徑下是靜態(tài)文件的目錄,不是的目錄沒有文件,就會(huì)規(guī)則,返回這樣瀏覽器拿到之后,開始加載其中的前端路由部分這時(shí)候就會(huì)在前端路由中找到匹配規(guī)則同理也可以寫在前端路由中了
首發(fā)于我的github博客, 歡迎關(guān)注
nginx 匹配的 try_file 與前端路由的優(yōu)先級問題
場景描述:
訪問www.abc.com, 之后點(diǎn)擊界面里面的logout,前端路由處理,跳轉(zhuǎn)到www.abc.com/login
但是登錄頁面刷新之后,就顯示nginx 404了
奇怪的地方就在于,為何退出的時(shí)候,重定向到/login的時(shí)候,沒有報(bào)404?
前端路由重定向到/login邏輯:this.$router.push({name: "login"});
貼下前端路由配置
routes: [ { name: "home", path: "/", component: Home, meta: { requiresAuth: true }, }, { path: "/login", name: "login", component: Login, }, { path: "*", component: NotFound, } ]
現(xiàn)有nginx配置
location / { root: /var/data/static; }
解決:
為何點(diǎn)擊退出可以正常顯示登錄頁面?
因?yàn)辄c(diǎn)擊退出,使用的redirect是前端路由this.$router.push({name: "login"});來實(shí)現(xiàn)的,這時(shí)候已經(jīng)有index.html 和相關(guān)的js了,可以直接使用前端路由跳轉(zhuǎn)到/login路由對應(yīng)的組件
為何刷新的時(shí)候顯示: nginx/404?
因?yàn)樗⑿碌臅r(shí)候,會(huì)先向服務(wù)器請求xxxx.com/login,
這時(shí)候服務(wù)器的nginx配置中沒有關(guān)于/login路徑的配置,直接報(bào)nginx/404的錯(cuò)誤
如何解決?
在nginx的location /{root xxxpath}中添加try_file: /index.html的配置
解釋:
nginx進(jìn)行匹配路徑的時(shí)候,發(fā)現(xiàn)沒有/login的路徑,便會(huì)轉(zhuǎn)到/路徑處理。
發(fā)現(xiàn)root路徑下(是靜態(tài)文件的root目錄,不是linux的root目錄)沒有login文件,就會(huì)try_file規(guī)則,返回index.html,
這樣瀏覽器拿到index.html 之后,開始加載其中的前端路由部分
這時(shí)候/login就會(huì)在前端路由中找到匹配規(guī)則
同理/404也可以寫在前端路由中了
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/40324.html
摘要:前端項(xiàng)目部署之前很少接觸前端項(xiàng)目的部署,這次為了更全面的學(xué)習(xí)就在本機(jī)上裝了一個(gè)虛擬機(jī)上,在虛擬機(jī)上練習(xí)了如何把一個(gè)寫的項(xiàng)目部署到這個(gè)虛擬機(jī)的服務(wù)器上。 前端項(xiàng)目部署 之前很少接觸前端項(xiàng)目的部署,這次為了更全面的學(xué)習(xí)就在本機(jī)上裝了一個(gè)虛擬機(jī)上,在虛擬機(jī)上練習(xí)了如何把一個(gè) react 寫的 spa 項(xiàng)目部署到這個(gè)虛擬機(jī)的服務(wù)器上。由于 linux 也是剛接觸不久,所以整個(gè)過程還是遇到了很多...
摘要:前言本文講解的是做為前端開發(fā)人員,對服務(wù)器的了解還是小白的我,是如何一步步將項(xiàng)目部署在阿里云的服務(wù)器上,并進(jìn)行性能優(yōu)化,達(dá)到頁面秒內(nèi)看到,秒內(nèi)看到首屏內(nèi)容的。搭建的項(xiàng)目是采用了主流的前后端分離思想的,這里只講服務(wù)器環(huán)境搭建與性能優(yōu)化。 showImg(https://segmentfault.com/img/remote/1460000017143281); 前言 本文講解的是:做為前...
摘要:服務(wù)端渲染等服務(wù)端渲染框架構(gòu)建的項(xiàng)目部署到服務(wù)器,并用守護(hù)程序最近好多伙伴說,我用做的項(xiàng)目本地是可以的,但部署到服務(wù)器遇到好多問題資源找不到,直接訪問頁面空白,刷新當(dāng)前路由。。。 服務(wù)端渲染:next.js、nuxt.js等服務(wù)端渲染框架構(gòu)建的項(xiàng)目部署到服務(wù)器,并用PM2守護(hù)程序 最近好多伙伴說,我用vue做的項(xiàng)目本地是可以的,但部署到服務(wù)器遇到好多問題:資源找不到,直接訪問inde...
摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項(xiàng)目。 本文是關(guān)注微信小程序的開發(fā)和面試問題,由基礎(chǔ)到困難循序漸進(jìn),適合面試和開發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
閱讀 2335·2023-04-25 14:29
閱讀 1457·2021-11-22 09:34
閱讀 2702·2021-11-22 09:34
閱讀 3392·2021-11-11 10:59
閱讀 1851·2021-09-26 09:46
閱讀 2223·2021-09-22 16:03
閱讀 1921·2019-08-30 12:56
閱讀 479·2019-08-30 11:12