zoukankan      html  css  js  c++  java
  • 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是否书写正确。

     
  • 相关阅读:
    正则表达式(验证账号密码邮箱身份证)
    JS Fetch
    事件流动
    JS DOM和BOM
    CSS的定位
    For each...in / For...in / For...of 的解释和例子
    CSS的gridlayout
    CSS position属性
    CSS的颜色
    twelfth week
  • 原文地址:https://www.cnblogs.com/panzai/p/13667255.html
Copyright © 2011-2022 走看看