Vue 打包部署到服務器后,非主頁刷新后出現404問題解決


開心把項目部署到服務上,從頭到尾點了一遍,發現沒有問題,以為就可以大功告成,沒想到刷新頁面時出現

 被破潑了一臉的涼水,更奇怪的事首頁沒有問題,只有其他頁面出現,在調戲了很久的度娘后,才從坑里跳出來,以下是我自己跳坑的方法:

我用的是phpStudy執行環境,有點low,小項目啦,訪問量也不多。

首先參考牛人的技術博客得到啟示。

打開Apache的rewrite功能:

1)在windows環境下:
打開您的apache安裝目錄 “/apache/conf/”  下的  httpd.conf  文件,通過Ctrl+F查找到 LoadModule rewrite_module modules/mod_rewrite.so ,將前面的 ”#” 號刪除即可
2)在linux環境下:
在編譯 apache 的時候記得加上帶  rewrite  模塊。

2、讓apache服務器支持.htaccess
在服務器或者虛擬主機的 <Directory> 配置段里,把你的 AllowOverride 配置設置成All,表示允許所有指令在  .htaccess  生效。

3、檢查rewrite模塊是否開啟
當rewrite模塊已經成功加載時,在phpinfo()里可以看到load的模塊列表里有rewrite的名字。

更多rewrite知識訪問技術牛人博客

在項目根目錄下新建.htaccess文件,建議用vscode去創建,這樣少一點揪心的事。如下圖:

 

 

參考官方文檔,htaccess內容如下:

1 <IfModule mod_rewrite.c>
2   RewriteEngine On
3   RewriteBase /
4   RewriteRule ^index\.html$ - [L]
5   RewriteCond %{REQUEST_FILENAME} !-f
6   RewriteCond %{REQUEST_FILENAME} !-d
7   RewriteRule . /index.html [L]
8 </IfModule>

更多htaccess內容參考大神的技術博客

重啟服務器,這樣就可以啦。

 


免責聲明!

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



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