nginx如何配置vue項(xiàng)目history的路由模式(非根目錄)
vue的路由分為兩種hash和history,hash路由雖然不需要做太多的配置但是url地址上會有一個很丑的#號。
而history模式的路由不會有這個#號但是帶來的問題卻是刷新頁面之后會404找不到頁面,原因是spa單頁面是通過js來進(jìn)行跳轉(zhuǎn)的。
瀏覽器根據(jù)路由地址是找不到服務(wù)器上相關(guān)的文件的,所以這里需要進(jìn)行相應(yīng)的服務(wù)器配置。
這里我選用的是nginx服務(wù)器
vue項(xiàng)目中
vue.config.js

router.js

然后npm run build打包。
nginx相關(guān)的配置
server {
listen 81;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location ^~/test {
#root /test/; #項(xiàng)目路徑
index index.html;
try_files $uri $uri/ /test/index.html; #匹配不到任何靜態(tài)資源,跳到同一個index.html
error_page 404 /test/index.html;//404頁面跳到同一個index.html
}nginx目錄
項(xiàng)目是放在nginx服務(wù)器根目錄下的test文件夾下的

啟動nginx瀏覽器訪問localhost:81/test/
選擇到其中一個二級頁面進(jìn)入頁面后刷新沒有報404?。?!大功告成?。?!

補(bǔ)充:
nginx的相關(guān)操作
開啟:在nginx安裝的根目錄運(yùn)行cmd執(zhí)行nginx命令
停止:nginx -t
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
- Vue項(xiàng)目Nginx子目錄部署(Vite和Vue-CLI)
- nginx找到默認(rèn)根目錄(root?html)的方法
- 通過nginx實(shí)現(xiàn)訪問服務(wù)器指定目錄下圖片資源
- nginx 不同的訪問路徑對應(yīng)項(xiàng)目不同的目錄的實(shí)現(xiàn)方法
- nginx設(shè)置資源請求目錄的方式詳解
- Nginx安裝完成沒有生成sbin目錄的解決方法
- Nginx本地目錄映射實(shí)現(xiàn)代碼實(shí)例
- nginx用正則表達(dá)式實(shí)現(xiàn)泛域名自動匹配目錄的方法
- 深入理解Nginx中的sites-enabled目錄
相關(guān)文章
基于node+vue實(shí)現(xiàn)簡單的WebSocket聊天功能
最近學(xué)習(xí)了一下websocket的即時通信,感覺非常的強(qiáng)大,這里我用node啟動了一個服務(wù)進(jìn)行websocket鏈接,然后再vue的view里面進(jìn)行了鏈接,進(jìn)行通信,廢話不多說,直接上代碼吧2020-02-02
Vue單頁面應(yīng)用做預(yù)渲染的方法實(shí)例
vue是一個單頁面的應(yīng)用,這導(dǎo)致一些爬蟲和百度無法搜索到,如果你想針對你應(yīng)用的其中某些頁面進(jìn)行SEO優(yōu)化,讓他們可以被爬蟲和百度搜索到,你可以進(jìn)行預(yù)渲染操作,下面這篇文章主要給大家介紹了關(guān)于Vue單頁面應(yīng)用做預(yù)渲染的相關(guān)資料,需要的朋友可以參考下2021-10-10
vue中nextTick函數(shù)和react類似實(shí)現(xiàn)代碼
Vue 3 中的 nextTick 主要通過 Promise 實(shí)現(xiàn)異步調(diào)度,返回一個 Promise 對象,這篇文章主要介紹了vue中nextTick函數(shù)和react類似實(shí)現(xiàn)代碼,需要的朋友可以參考下2024-04-04
Vue創(chuàng)建項(xiàng)目后沒有webpack.config.js(vue.config.js)文件的解決
這篇文章主要介紹了Vue創(chuàng)建項(xiàng)目后沒有webpack.config.js(vue.config.js)文件的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01

