vue cli3項目發佈在apache www/vue目錄下並配置history路由

注意:vue項目打包後默認是指向服務器的根路徑(好比apache默認www目錄是根路徑,固然也能夠修改),這種狀況不須要作路徑的配置,只須要作history配置,若是不是發佈到根路徑而是www/vue目錄下,則須要作路徑配置,並作history配置html

   須要修改router.jsnew Router 配置,加一個 base: '/vue/', 它指定應用的基路徑,默認是根路徑'/',表示該應用是服務於localhost/vue路徑下,因此必須加base配置,不然應用會展現404頁面,固然了用history路由的話也必須加 mode: 'history';vue

  2、 在vue.config.js的 module.exports = { publicPath: '/vue/' };  , 默認根路徑'/'
  3、 修改httpd.conf文件,開啓rewrite_module功能:
  apache

    1. LoadModule rewrite_module libexec/apache2/mod_rewrite.so,去掉前面的#,打開註釋。通常搜索 mod_rewrite.so 可以找到,不一樣的服務器可能前面的紅色路徑不太同樣segmentfault

    2. 找到  AllowOverride None 的那行,把它改爲 AllowOverride All,來使  .htaccess 文件生效。服務器

  4、 在apache 的www/vue 目錄下新建  .htaccess文件(此文件是看不到目錄的可是在命令行貌似能夠查到), 須要修改RewriteRule 爲/vue/index.html, 不然刷新頁面服務端會直接報404錯誤ide

             .htaccess文件內容spa

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

 

發佈到其餘路徑或是更深的路徑配置都是相似的code

參考:http://www.javashuo.com/article/p-uasrtzng-ku.html  router

相關文章
相關標籤/搜索