vue框架下部署上线后刷新报404问题的解决方案(推荐)


Posted in Javascript onApril 03, 2019
<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteRule ^index\.html$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.html [L]
</IfModule>

nginx配置

location / {
 try_files $uri $uri/ /index.html;
}

vue history模式下nginx配置

服务端nginx的一开始配置如下(假设域名为:xx.xxx.com): [***** ~]# cat /Data/app/nginx/conf/vhosts/xx.xxx.com.conf

server {
     listen 80;

     server_name testwx.wangshibo.com;
     root /Data/app/xqsj_wx/dist;
     index index.html;

     access_log /var/log/testwx.log main;

}

修改如下:

server {
     listen 80;

     server_name testwx.wangshibo.com;
     root /Data/app/xqsj_wx/dist;
     index index.html;
     access_log /var/log/testwx.log main;
     
 ## 注意从这里开始
     location / {
       try_files $uri $uri/ @router;
       index index.html;
     }

    location @router {
      rewrite ^.*$ /index.html last;
    }
}

原生 Node.js

const http = require('http')
const fs = require('fs')
const httpPort = 80
http.createServer((req, res) => {
 fs.readFile('index.htm', 'utf-8', (err, content) => {
  if (err) {
   console.log('We cannot open "index.htm" file.')
  }
  res.writeHead(200, {
   'Content-Type': 'text/html; charset=utf-8'
  })
  res.end(content)
 })
}).listen(httpPort, () => {
 console.log('Server listening on: http://localhost:%s', httpPort)
})

基于 Node.js 的 Express

对于 Node.js/Express,请考虑使用 connect-history-api-fallback 中间件

Internet Information Services (IIS)

安装 IIS UrlRewrite

在你的网站根目录中创建一个 web.config 文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
  <rewrite>
   <rules>
    <rule name="Handle History Mode and custom 404/500" stopProcessing="true">
     <match url="(.*)" />
     <conditions logicalGrouping="MatchAll">
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
     </conditions>
     <action type="Rewrite" url="/" />
    </rule>
   </rules>
  </rewrite>
 </system.webServer>
</configuration>

Caddy

rewrite {
  regexp .*
  to {path} /
}

Firebase 主机

在你的 firebase.json 中加入:

{
 "hosting": {
  "public": "dist",
  "rewrites": [
   {
    "source": "**",
    "destination": "/index.html"
   }
  ]
 }
}

最后

给个警告,因为这么做以后,你的服务器就不再返回 404 错误页面,因为对于所有路径都会返回 index.html 文件。为了避免这种情况,你应该在 Vue 应用里面覆盖所有的路由情况,然后在给出一个 404 页面。

const router = new VueRouter({
 mode: 'history',
 routes: [
  { path: '*', component: NotFoundComponent }
 ]
})

总结

以上所述是小编给大家介绍的vue框架下部署上线后刷新报404问题的解决方案(推荐),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
采用call方式实现js继承
May 20 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
Aug 12 Javascript
JavaScript中使用arguments获得函数传参个数实例
Aug 27 Javascript
简介JavaScript中的getSeconds()方法的使用
Jun 10 Javascript
尝试动手制作javascript放大镜效果
Dec 25 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
Apr 14 Javascript
Angular2学习笔记——详解路由器模型(Router)
Dec 02 Javascript
浅谈pc端rem字体设置的问题
Aug 03 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
Jan 26 Javascript
Vue中的Props(不可变状态)
Sep 29 Javascript
iview同时验证多个表单问题总结
Sep 29 Javascript
微信小程序发布新版本时自动提示用户更新的方法
Jun 07 Javascript
JavaScript变速动画函数封装添加任意多个属性
Apr 03 #Javascript
JS中注入eval, Function等系统函数截获动态代码
Apr 03 #Javascript
性能优化篇之Webpack构建速度优化的建议
Apr 03 #Javascript
elementUI多选框反选的实现代码
Apr 03 #Javascript
vue生命周期的探索
Apr 03 #Javascript
用原生 JS 实现 innerHTML 功能实例详解
Apr 03 #Javascript
详释JavaScript执行环境与执行栈
Apr 02 #Javascript
You might like
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
PHP进程通信基础之信号
2017/02/19 PHP
jQuery动画animate方法使用介绍
2013/05/06 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
2013/12/20 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
python 正则式 概述及常用字符
2009/05/07 Python
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
Python学习笔记之自定义函数用法详解
2019/06/08 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
python selenium实现发送带附件的邮件代码实例
2019/12/10 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
django从后台返回html代码的实例
2020/03/11 Python
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
在什么时候需要使用"常引用"
2015/12/31 面试题
九州传奇上机题
2014/07/10 面试题
职业培训师职业生涯规划
2014/02/18 职场文书
公司节能减排方案
2014/05/16 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
分析并发编程之LongAdder原理
2021/06/29 Java/Android