当前位置: 首页 > news >正文

如何做网站首页福建省建设注册执业资格管理中心网站

如何做网站首页,福建省建设注册执业资格管理中心网站,wordpress怎么设置访问不了,封面型网页网站有哪些内容Vue项目打包部署到线上后,刷新页面会提示404,下面这篇文章主要给大家介绍了关于vue/react项目刷新页面出现404报错的原因及解决办法,文中将解决的办法介绍的很详细,需要的朋友可以参考下 ​​​​​​​ 背景解决办法 法1:将vue/react路由模式由history路由改为has…

Vue项目打包部署到线上后,刷新页面会提示404,下面这篇文章主要给大家介绍了关于vue/react项目刷新页面出现404报错的原因及解决办法,文中将解决的办法介绍的很详细,需要的朋友可以参考下

​​​​​​​

  • 背景
  • 解决办法
    • 法1:将vue/react路由模式由history路由改为hash路由
    • 法2:在服务器nginx配置文件里,添加如下代码,再重启nginx,刷新网页就OK了
  • 文章参考
  • 总结

    背景

    问题描述:vue/react项目,正常的页面操作跳转,不会出现404的问题,但是一旦刷新,就会出现404报错。

    产生原因:我们打开vue/react打包后生成的dist文件夹,可以看到只有一个 index.html 文件及一些静态资源,这个是因为vue/react是单页应用(SPA),只有一个index.html作为入口文件,其它的路由都是通过JS来进行跳转的。
    而网页上显示的是静态资源的绝对路径,虽然浏览器上的url变化了,但实际上服务器的静态资源是没有更改路径的,始终只有index.html这一个入口,所以刷新就会导致url上的路径和服务器上的资源不匹配,无法找到静态资源,从而报错404。(多页应用因为有多个入口文件,所以不会有这样的问题)。

    接下来我们看看服务器上的nginx配置:

  • server {// 监听80端口listen 80;// 定义你的站点名称server_name website.com;// 根据请求 URI 设置配置location / {// 站点根目录,这里为 vue 构建出来的 dist 目录root   /www/dist;// 站点初始页为index.html 或 index.htmindex  index.html index.htm;}
    }

    根据nginx配置我们可以得出,当我们在地址栏输入域名(如www.xxx.com)时,这时会打开我们 dist 目录下的 index.html 文件,然后我们再通过页面操作跳转路由进入到 www.xxx.com/login,关键在这里,当我们在 www.xxx.com/login 页执行刷新操作,nginx location 是没有相关配置的,所以就会出现 404 的情况。

  • 解决办法

    法1:将vue/react路由模式由history路由改为hash路由

    为什么hash模式下没有问题:

    hash路由的原理是onhashchange事件,hash模式下,仅hash符号之前的内容会被包含在http请求中,如www.xxx.com/#/login,hash的值为 #/login,hash值#/login虽然出现在 url中,但不会被包括在http请求中,其只会请求www.xxx.com,对服务端完全没有影响,因此改变hash不会重新加载页面,即使服务器nginx没有配置location,也不会返回404错误。

    history模式:原理是利用了h5的Interface 中的pushState()方法和replaceState()方法,它们提供了对浏览器历史记录进行修改的功能,但当它们执行修改时,虽然改变了当前的 URL,但浏览器不会立即向服务器发送请求,因此history模式正常页面操作跳转路由,是不会再次发送http资源请求的。但是当刷新的时候,由于url已经改变,如www.xxx.com/login会完整地向服务器请求相关资源,所以就会造成对应路径的资源找不到,从而返回404。

    但是使用hash路由,url上会携带#号标志,且history模式的同步更新浏览器历史记录功能就没有了。

  • 法2:在服务器nginx配置文件里,添加如下代码,再重启nginx,刷新网页就OK了

  • location / {try_files $uri $uri/ @rewrites;index index.html;
    }
    location @rewrites {rewrite ^.*$ /index.html last;
    }

http://www.yayakq.cn/news/882080/

相关文章:

  • 请详细说明网站开发流程及原则hao123网址之家官网
  • 建设企业网站初始必备的六大功能可以用AI做网站上的图吗
  • 做网站怎么拿框架的原代码做任务挣钱的网站
  • 公司网站制作知乎北京软件开发公司排行榜最新
  • wordpress 下载站网站横幅怎么做
  • 网站信息服务费怎么做凭证招投标相关政策
  • wordpress+vps建站建网站做cpa
  • 阿里云的云服务器做网站用哪种安徽省建设
  • 廉政建设网评文章网站阳江吧
  • 网站域名根目录一流的品牌网站建设
  • 郑州做网站天强科技下述不属于网页制作工具
  • 吉林城市建设学校网站茶叶网站建站
  • 形象墙设计合肥网站的优化
  • 长沙环路建设开发有限公司网站上海手机站网站建设
  • 有没有做相册的网站部门门户网站建设请示
  • 赤水市建设局官方网站wordpress美化插件大全
  • 做网站样本电销好做吗网页设计与制作教程专题分析
  • 公司做个网站多少钱学校网站cms
  • 临沂网站建设微信东莞网站建设设计价格
  • 如何创建网站教程视频网站建设的功能和目标
  • 网站域名怎么快速备案价格php网站建设安装环境
  • 建设企业网站官网u盾登录思明区建设局网站
  • 网站建设案例模板建立一个网站平台需要多少钱
  • 做网站必备网站经营性备案难不难
  • 深圳科技网站建设263企业邮箱免费登录入口
  • 怎么做游戏试玩网站wordpress阿里云图片
  • 网站建设和网络搭建是一回事吗永久云服务器免费领
  • 吉林住房和城乡建设厅网站网站建设销售技巧
  • 如何做关于网站推广的培训wordpress评论邮箱通知
  • 江苏省建设工程安全监督网站做视频上传到网站怎么赚钱