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 相关文章推荐
js 立即调用的函数表达式如何写
Jan 12 Javascript
js+canvas简单绘制圆圈的方法
Jan 28 Javascript
基于JS代码实现实时显示系统时间
Jun 16 Javascript
AngularJS入门教程之Scope(作用域)
Jul 27 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
Aug 02 Javascript
JS实现电商放大镜效果
Aug 24 Javascript
angularjs实现时间轴效果的示例代码
Nov 29 Javascript
关于Vue在ie10下空白页的debug小结
May 02 Javascript
使用vuepress搭建静态博客的示例代码
Feb 14 Javascript
Vue.js实现tab切换效果
Jul 24 Javascript
VSCode搭建React Native环境
May 07 Javascript
详解Webpack4多页应用打包方案
Jul 16 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检测url是否存在的方法
2015/04/14 PHP
php操作MongoDB类实例
2015/06/17 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
utf8的编码算法 转载
2006/12/27 Javascript
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
AngularJS执行流程详解
2017/02/17 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
详解node+express+ejs+bootstrap构建项目
2017/09/27 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
2017/12/24 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
2020/11/09 jQuery
js仿淘宝放大镜效果
2020/12/28 Javascript
python传递参数方式小结
2015/04/17 Python
Python使用turtule画五角星的方法
2015/07/09 Python
分析python切片原理和方法
2017/12/19 Python
django 解决manage.py migrate无效的问题
2018/05/27 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
详解Python中的测试工具
2019/06/09 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
师范生自荐信
2013/10/27 职场文书
军训自我鉴定范文
2014/02/13 职场文书
合作经营协议书范本
2014/09/16 职场文书
团组织推优材料
2014/12/29 职场文书
催款函范文
2015/06/24 职场文书
mysql如何配置白名单访问
2021/06/30 MySQL