vue部署到域名二級目錄刷新404的解決
vue部署到域名二級目錄刷新404
一個域名有個根目錄,但有兩個項目,就需要二級目錄
比如說,我有一個域名為csdn.com的服務器,我想部署兩個項目:
- 12306項目:http://csdn.com/12306
- 淘寶項目:http://csdn.com/taobao
如果是單頁項目,而且單頁項目的路由用的是history模式,不管是vue還是react都會“刷新當前頁面404”
這是因為這種(history)模式會被錯誤的認為向服務端發(fā)出了真請求,但是其實這這是前端路由變化,后端自然也沒做好相應你的處理,所以就404了
前端配置:
vue.config.js增加如下配置:
publicPath: '/caspage/'
路由配置:
const router = new VueRouter({
mode: 'history',
base:'/caspage/',
routes
})
nginx配置:
# 這里是需要部署的二級目錄應用配置
location /cloudChartPage {
alias /data/cloudChartPage/;
index index.html index.htm;
try_files $uri $uri/ /cloudChartPage/index.html;
}
然后重新啟動就行了
??
vue如何部署二級目錄
有的時候,我們的域名很珍貴,除了二級域名外。
我們不僅可以把項目部署到當前域名下 也可以部署到二級目錄下,這樣的話,就可以部署多個項目了。
比如說,我有一個域名為sslcsq.com的服務器,我想部署兩個項目:
- 京東項目:http://sslcsq.com/jingdong
- 淘寶項目:http://sslcsq.com/taobao
說一下這里會遇到得問題
普通項目不會有問題,
但是如果是單頁項目(比如vue寫的單頁面),而且單頁項目的路由用的是history模式,不管是vue還是react都會出現(xiàn)一個問題
那就是“刷新當前頁面404”
這是因為這種(history)模式會被錯誤的認為向服務端發(fā)出了真請求,但是其實這這是前端路由變化,后端自然也沒做好相應你的處理,所以就404了
如何解決
前端配置(前端看這就行了,后面找后臺配置)
在vue.config.js中增加如下配置:
publicPath: '/taobao/' ? ? ? ? ? ? ? ? ? 這里就是配置的二級目錄
路由配置如下:
const router = new VueRouter({
? mode: 'history',
? base:'/taobao/', ? ? ? ? ? ? ? ? ? ? ? ? ?這里就是配置的二級目錄
? routes
})后端nginx.conf配置如下:(注意前后端溝通~)
# 首先給要部署的項目分配一個服務
server {
? ? listen 8001;
? ? location / {
? ? ? ? # vue h5 history mode 時配置
? ? ? ? try_files $uri $uri/ /index.html;
? ? ? ? root html/caspage;
? ? ? ? index index.html index.htm;
? ? }
}
# 再到配置域名的主配置server上做反向代理
server {
? ? listen ? ? ? 80;
? ? server_name ?localhost;?
? ? location / {
? ? ? ? root ? html;
? ? ? ? index ?index.html index.htm;
? ? ? ? # vue-router的history模式下,刷新頁面404處理
? ? ? ? try_files $uri $uri/ /index.html;
? ? }
? ? error_page ? 500 502 503 504 ?/50x.html;
? ? location = /50x.html {
? ? ? ? root ? html;
? ? }
? ?
? ? ?
? ? ?# 這里是需要部署的二級目錄應用配置
? ? ?location /cloudChartPage {
? ? ? ? alias /data/cloudChartPage/;
? ? ? ? index ?index.html index.htm;
? ? ? ? try_files $uri $uri/ /cloudChartPage/index.html;
? ? ?}
}新啟動然后訪問就可以http://sslcsq.com/taobao 或者 http://sslcsq.com/京東 看你的二級目錄配置的什么了
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
在vue項目中使用axios發(fā)送post請求出現(xiàn)400錯誤的解決
這篇文章主要介紹了在vue項目中使用axios發(fā)送post請求出現(xiàn)400錯誤的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
vue.js 實現(xiàn)v-model與{{}}指令方法
這篇文章主要介紹了vue.js 實現(xiàn)v-model與{{}}指令方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10
vue在mounted中window.onresize不生效問題及解決
這篇文章主要介紹了vue中在mounted中window.onresize不生效問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04

