nginx配置 vue打包后的項目 解決刷新頁面404問題|nginx配置多端訪問

訪問vue頁面時,/# 使url看著不美觀,使用 H5 history模式可以完美解決這個問題,但需要后端nginx幫助。接下來我們自己配置一下。

使用前端路由,但切換新路由時,想要滾動到頁面頂部,或者保持原先的滾動位置,就像重新加載頁面那樣,vue-router 可以讓你自定義路由切換頁面時如何滾動。

當創建Router實例時,可以提供一個 scrollBehavior 方法:

const router = new VueRouter({routes: [...],mode: 'history', //H5 history模式scrollBehavior (to, from, savedPosition) {// return 期望滾動到哪個的位置return { x: 0, y: 0 } //讓頁面滾動到頂部}
})
復制代碼

更多滾動行為實例可以參考官網 router.vuejs.org/zh/guide/ad…

打包之后會造成一個問題,刷新打包文件頁面 ,會出現404頁面空白,接下來需要配置一下nginx文件,就可以訪問打包后的文件了。

vue單頁面的啟動頁面是index.html文件,路由實際是不存在的,所以會出現頁面刷新404問題,需要設置一下訪問vue頁面映射到index.html上。

首先,我們需要確定一下打包靜態資源的路徑需要設置絕對路徑

config/index.js

build: {assetsPublicPath: '/'
}
復制代碼

然后配置一下nginx映射問題

location / {root   /www/dist;index  index.html index.htm;try_files $uri $uri/ /index.html;  //映射到index.html上
}
復制代碼

醬紫就可以訪問啦。

有同學可能會遇到 nginx 配置pc端、移動端自動跳轉的問題, 接下來我們配置一下。

http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  www.baidu.com; //服務器網址set $mobile_rewrite do_not_perform; //設置pc重定向if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os )?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino") {set $mobile_rewrite perform;} //設置移動端重定向location / {root   /www/dist/m; //移動端rootif ($mobile_rewrite = do_not_perform) { //根據重定向 重置 rootroot /www/dist; //pc端root}index  index.html index.htm;try_files $uri $uri/ /index.html; //映射到index.html上}location ~ ^/api {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_pass http://unix:/home/dev/official/official.sock;proxy_max_temp_file_size   2m;proxy_connect_timeout      90;proxy_send_timeout         90;proxy_read_timeout         90;proxy_buffer_size          4k;proxy_buffers              4 32k;proxy_busy_buffers_size    64k;proxy_temp_file_write_size 64k;client_max_body_size       5m;}  error_page  404              http://www.baidu.com;error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
復制代碼

醬紫就可以使用同一網址同時訪問移動端和pc端項目啦。

有些地方可能表述的不夠清晰,又不懂的地方可以留言,我看到知道后一定會及時回答的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/536463.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/536463.shtml
英文地址,請注明出處:http://en.pswp.cn/news/536463.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法導論2nd 10.1-7

為什么80%的碼農都做不了架構師?>>> 思路:兩個隊列q1和q2,兩個隊列指針pusher和poper分別指向q1和q2,push時調用pusher->enqueue,然后將poper里的元素全部dequeue并enqueue到pusher,最后交換…

阿里云Windows2012 R2服務器IPV6配置記錄

要上蘋果APP,則必須要支持IPV6和HTTPS,阿里云本身沒有開放IPV6地址。因此需要進行IPV6的相關配置。查了很多IPV6的配置資料,最終選擇用HE進行IPV6設置。在這過程中遇到一些問題,以記錄下來以備注。 1、IPV6 Tunnel Broker設置 在H…

mycat 1.6.5 for mysql 8分表攻略

2019獨角獸企業重金招聘Python工程師標準>>> 簡述 mycat 對于 mysql 的支持有版本要求,目前 1.6.5 不支持 mysql 8.0 版本。因為mysql 8.0 的加密方式發生了變化。 mycat 1.6.5 連接 mysql 8.0 的兩個方式 mysql 8.0 采用兼容方式,&#xff0…

Funcode-貪吃蛇

自己編寫的一個小游戲,本來打算做貪吃蛇,結果不會使蛇的身子隨蛇頭方向改變而改變就換了種想法,最后變成了這樣一個另類的小游戲,“笑哭“,下面是程序的主要代碼,如果有興趣也可以下載完整程序代碼資源&…

mac 使用遠程連接

https://www.jianshu.com/p/9cc90361f37a轉載于:https://www.cnblogs.com/xiangsj/p/10876400.html

systemtap執行過程中報probe timer.profile registration error

probe timer.profile registration error 今天在執行火焰圖的過程中,代碼報錯,probe timer.profile registration error 經過查詢、分析可能是在該平臺該函數是不安全、不共享的。 將 probe timer.profile { 用該代碼替換即可 probe perf.sw.cpu_clock !…

(十三)java版spring cloud+spring boot+redis社交電子商務平臺-springboot集成spring cache...

電子商務社交平臺源碼請加企鵝求求:一零三八七七四六二六。本文介紹如何在springboot中使用默認的spring cache,聲明式緩存Spring 定義 CacheManager 和 Cache 接口用來統一不同的緩存技術。例如 JCache、 EhCache、 Hazelcast、 Guava、 Redis 等。在使…

搭建gitlab及部署gitlab-runner

2019獨角獸企業重金招聘Python工程師標準>>> 1、搭建gitlab,之前yum安裝gitlab,安裝后一直報502錯誤,網上百度試過還是無法使用; 所以這次部署在docker里面;如下命令: docker run --detach --hostname gitlab.forebix.com --publish 4433:443 --publish …

母牛的故事

母牛的故事 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 有一對夫婦買了一頭母牛,它從第2年起每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請編程實現在第n年的時候…

軟件性能測試

通常,衡量一個軟件系統性能的常見指標有: 1、響應時間(服務器端響應時間、網絡響應時間、客戶端響應時間) 那客戶感受的響應時間其實是等于客戶端服務器端網絡響應時間 2、吞吐量 軟件系統在每單位時間內能處理多少個事務/請求/單…

王小二切餅

王小二切餅 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 王小二自夸刀工不錯&#xff0c;有人放一張大的煎餅在砧板上&#xff0c;問他&#xff1a;“餅不許離開砧板&#xff0c;切n(1<n<100)刀最多能分成多少塊&…

SmoothNLP 中文NLP文本處理工具 Python 實戰示范

SmoothNLP pythonJavaPython python interfaces for SmoothNLP 的 Python 接口&#xff0c; 支持自動下載底層jar包 &#xff0c;目前支持Python3 Pypi 官方安裝 pip3 install smoothnlp 復制代碼請注意使用python3安裝smoothnlp項目&#xff0c;當前版本 version0.2.4 如果您使…

本地緩存Caffeine

Caffeine 說起Guava Cache&#xff0c;很多人都不會陌生&#xff0c;它是Google Guava工具包中的一個非常方便易用的本地化緩存實現&#xff0c;基于LRU算法實現&#xff0c;支持多種緩存過期策略。由于Guava的大量使用&#xff0c;Guava Cache也得到了大量的應用。但是&#x…

《圖解HTTP》核心知識總結

HTTP協議的簡介 HTTP是超文本傳輸協議&#xff0c;用于客戶端和服務器端之間的通信&#xff0c;屬于TCP/IP中的應用層。 HTTP協議的基礎知識 客戶端和服務器端 客戶端是服務請求方&#xff0c;服務器端是服務提供方。 URI和URL URI:URI是統一資源標識符&#xff1b; URL:是統一…

1042: 篩法求素數

1042: 篩法求素數 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 1387 Solved: 918 [Submit][Status][Web Board] Description 用篩法求之N內的素數。 Input N Output 0&#xff5e;N的素數 Sample Input 100 Sample Output 2 3 5 7 11 13 17 19 23 29 31 37 4…

狀態機解析請求行

微信公眾號&#xff1a;鄭爾多斯關注「鄭爾多斯」公眾號 &#xff0c;回復「領取資源」&#xff0c;獲取IT資源500G干貨。升職加薪、當上總經理、出任CEO、迎娶白富美、走上人生巔峰&#xff01;想想還有點小激動關注可了解更多的Nginx知識。任何問題或建議&#xff0c;請公眾號…

GO 從零開始的語法學習二

for循環 if條件里不需要括號 err ! nil 判斷是否為空 func main(){const filename "abc.txt"contents , err : ioutil.ReadFile(filename); err ! nil{fmt.Println(err)} else{fmt.Printf("%s\n",contents)} } 復制代碼if的條件里可以進行賦值if的條件里…

7個有用的Vue開發技巧

1 狀態共享 隨著組件的細化&#xff0c;就會遇到多組件狀態共享的情況&#xff0c;Vuex當然可以解決這類問題&#xff0c;不過就像Vuex官方文檔所說的&#xff0c;如果應用不夠大&#xff0c;為避免代碼繁瑣冗余&#xff0c;最好不要使用它&#xff0c;今天我們介紹的是vue.js …

Kewail-郵件短信接口的基礎教程

短信接口接入流程開始接入手機短信接口接入操作流程&#xff1a;申請短信簽名 → 申請短信模板 → 生成AccessKey → 下載DEMO/攢寫接口調用文檔 → 免費測試發送 → 購買發信量正式使用。一、申請短信簽名接入API接口&#xff0c;通過1069通道發送驗證碼等短信&#xff0c;必須…

傳百度無人車計劃分拆,百度回復:不實信息,目前未有分拆計劃

據《財經》報道&#xff0c;百度無人車項目正在籌備分拆(spin off)當中&#xff0c;且正在尋找外部投資機構融資。一位接近百度無人車項目人士對《財經》表明&#xff0c;分拆就是時間問題。對于無人車項目分拆一事&#xff0c;百度對 36 氪表示&#xff0c;媒體報道不實。目前…