apache服務器如何將vue-router默認的hash模式改為history模式,並打包上線到ftp


vue-router的默認根路徑是'#',如果不想要'#'就可以使用history模式。

1.在router的配置文件下加入

export default new Router({
    mode:'history',  //改為history模式
 })
2.此時本地可以訪問到路徑,但是打包過后頁面出現空白,在保證靜態資源路徑加載正確的情況下,原因可能是項目的根路徑不是域名,
export default new Router({
    mode:'history',  //改為history模式
    base: '/shexinaghui/', //項目根路徑就是線上訪問時路由前面的路徑
 })
此時我們線上訪問的路徑就是https://域名/shexianghui/index,shexianghui就是項目的根路徑
3.使用npm run build打包,生成dist文件夾,我們可以將文件夾的名字改為shexianghui,然后將該文件夾拖到ftp服務器上。
也可以新建名為shexinaghui的文件夾,並將dist中的文件(包括static,favicon.ico和index.html)放到shexianghui文件夾中去.
 

 

 

 

 4.此時訪問https://域名/shexianghui即可線上訪問該項目,但是刷新網站會出現404,在apache服務器上的解決辦法如下:

在項目的根目錄,也就是shexianghui文件夾下創建一個文件,名為.htaccess,文件中的內容是

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /shexianghui/
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /shexianghui/index.html [L]
</IfModule>

最后再重新上傳該文件夾到ftp即可。

如果以上都完成了,帶路由刷新瀏覽器https://quxun.co/taoteng/index出現白屏,控制台報以下錯誤

Uncaught SyntaxError: Unexpected token <,

檢查.htaccess文件RewriteBase和RewriteRule是否書寫正確。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM