vue-route+webpack部署單頁路由項目,訪問刷新導(dǎo)致404問題

簡介

前端同事使用Vue.js框架,利用vue-route結(jié)合webpack編寫了一個單頁路由項目,運維協(xié)助在服務(wù)器端配置nginx。部署完成后,訪問首頁沒問題,從首頁里打開二級頁面沒問題,但是所有的二級頁面打開后,再次刷新,就會出現(xiàn)404現(xiàn)象!如下:

問題原因:

刷新頁面時訪問的資源在服務(wù)端找不到,因為vue-router設(shè)置的路徑不是真實存在的路徑。

如上的404現(xiàn)象,是因為在nginx配置的根目錄下面壓根沒有l(wèi)oading這個真實資源存在,這些訪問資源都是在js里渲染的。

原先配置:

[root@test-huanqiu ~]# cat /Data/app/nginx/conf/defaut.conf 

         server {
           listen 80;
           server_name www.newkdd.com;
           root /home/newkdd/www/;
           index index.html;
           access_log /var/log/testwx.log main;
        }

問題解決:

在nginx配置里添加vue-route的跳轉(zhuǎn)設(shè)置(這里首頁是index.html,如果是index.php就在下面對應(yīng)位置替換),正確配置如下(添加下面標紅內(nèi)```容):

[root@test-huanqiu ~]# cat /Data/app/nginx/conf/default.conf 

         server {
           listen 80;
           server_name www.newkdd.com;
           root /home/newkdd/www/;
           index index.html;
           access_log /var/log/newkdd.log main;
           location / {
               try_files $uri $uri/ @router;
               index index.html;
           }
          location @router {
              rewrite ^.*$ /index.html last;
          }
     }

重啟nginx后,問題就迎刃而解了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容