1.路由默认是带#的,有时我们感觉不美观,就使其变为history模式,也就没有#字符 2.# 如果找不到当前页面(404),就返回index.html,重新分配路由 location ^~/prodTest/ { root C:/Users/Administrator/Desktop/gavinApp/testVue/my-project; try_files $uri /; expires 2h; } 3.实例:如果用户请求路径为: http://localhost:8070/prodTes…
这篇文章主要分享一下通过HTML5的history API的时候,使用NodeJS后端应该如何配置,来避免产生404的问题,这里是使用的express的框架,主要是通过connect-history-api-fallback这个中间件来实现的! 前言 这里使用vue-router来实现的单页应用为例,访问http://cnode.lsqy.tech,进入首页,点击下面的tab栏,一切都是很正常的,但当这时候你 ctrl+command+R 或 点击浏览器的刷新按钮 或 在地址栏上再敲一下回车,总…
摘要:vue-router 默认 hash 模式 -- 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 本文分享自华为云社区<学习Vue Router,HTML5 History 模式,因为history模式刷新页面会出现404>,作者: DevFeng . vue-router 默认 hash 模式 -- 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 如果不想要很丑的 hash,我们可以用路…
vue hash模式下,URL中存在'#',用'history'模式就能解决这个问题.但是history模式会出现刷新页面后,页面出现404.解决的办法是用nginx配置一下.在nginx的配置文件中修改 方法一: location /{ root /data/nginx/html; index index.html index.htm; if (!-e $request_filename) { rewrite ^/(.*) /index.html last; break; } } 方法二:vu…
路由模式 众所周知,浏览器下的单页面应用的路由模式有下面两种: hash 模式和 history 模式.hash 模式通用性好,而且不依赖服务器的配置,省心省力,但是缺点是不够优雅.相比于 hash 模式来说,history 模式则更加美观. 但是,history 模式同样会有一个问题,就是当页面刷新时,如果没有合适的配置,会出现页面 404 的错误.因此需要额外的服务器配置,对于找不到的 url,将首页 html 返回. 接下来,咱们以 nginx 为例,来说说 history 模式时需要进行…
目前web开发 使用一般前后端分离技术,并且前端负责路由.为了美观,会采用前端会采用h5 history 模式的路由.但刷新页面时,前端真的会按照假路由去后端寻找文件.此时,后端必须返回index(index.html)文件才不至于返回404. nginx 部署一个单页应用很简单: location / { root html; try_files $uri /index.html index.html; } root是web服务器目录,try_files 为文件匹配,先找真实的地址($uri)…
使用vue项目,线上部署的时候,访问首页以及通过路由打开二级页面没有问题,但是一刷新就出现404现象 因为刷新页面时访问的资源在服务端找不到,因为vue-router设置的路由不是真实存在的路径. 解决办法是:在nginx.conf配置修改如下: location / { root html; try_files $uri $uri/ @router; index index.html index.htm; } location @router { rewrite ^.*$ /index.htm…
nginx(带二级目录的配置) location ~* /A {    alias  /opt/nginx-1.4.7/html/ued/A;     try_files $uri $uri /A/static/index.html;  } 前端路径修改 设置根目录 index.html…
1. 首先在vue项下的router.js 文件配置 mode为history模式,并且设置好对应的base选项 说明:base配置为你当前项目实际上线时所在的目录文件夹, 我这就是放在站点的根目录下的一个叫phptest的文件夹下. 2. 为了防止打包上线引入文件的路径出错, 在vue.config.js文件配置publicPath (我使用的是vue-cli3.0, 2.0的也可以在配置文件中配置) 3.执行 npm run build 执行文件打包上线 4.在对应站点的目录下 phptes…
第二次进入页面,页面路由参数已经改变,但是页面内容不会刷新 <keep-alive>是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM <keep-alive> 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们.和 <transition> 相似,<keep-alive> 是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在父组件链中. app.vue <template> <div id=&quo…
这是我测试onethink用的配置 可以参考一下 server { listen 80; server_name onethink.dev www.onethink.dev; root /vagrant/www/onethink; index index.php; location / { if ( -f $request_filename) { break; } if ( !-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last;…
Nginx定义404页面并返回404状态码, WebServer是nginx,直接告诉我应该他们配置了nginx的404错误页面,虽然请求不存在的资源可以成功返回404页面,但返回状态码确是200. 404.html 内容为sorry docker .... 修改nginx的配置文件 error_page 404 /404.html; 重启nginx后即可. 最后实现如图,请求一个不存在的页面.…
官方用例:https://router.vuejs.org/zh-cn/advanced/scroll-behavior.html import Vue from 'vue' import Router from 'vue-router' import index from '@/components/index.vue' Vue.use(Router) const router = new Router({ mode: 'history',//这种方法只能在history模式下使用 route…
spa(单页应用,vue)中,使用history模式时,微信长按识别二维码在ios下失效的问题. 触发条件: spa单页应用: 路由模式 history 从其他页面跳转到带有微信二维码识别的页面(不是直接打开该页面) ios版本的微信(实测版本6.5.19) 结果: 二维码长按无法识别,刷新页面后恢复正常,安卓下正常. 解决方案: 1. 进入该页面的方式不使用路由跳转,而改为 <a href="xxx">目标二维码页面</a>的方式: 2. 在beforeCre…
项目中index.html中包含<!--#include virtual="/commonfrag/djdzkan/recomm_www_info.inc"  --> ,当recomm_www_info.inc不存在返回404时.nginx会将404整个页面都反馈到index.html中,导致html中有两个body标签. 在include标签中添加 stub="file_not_found" 能解决此问题. 即:<!--#include virt…
摘要 在React项目中,我们需要采用它的路由库React-Router来进行页面跳转,React会根据路由URL来判断是哪个页面.常见的的URL有两种显示方式,一种是hashHistory的形式,形如:localhost:3000/#/free-lesson的路由,另一种是browserHistory的形式,形如:localhost:3000/person-center的真实URL路由.在实际项目中常常用真实的URL的方式,但是该形式存在一个隐藏的问题,就是项目打包后,浏览器页面刷新会出现40…
在配置文件中配置404页面如下: .代码如下: <customErrors mode="On" defaultRedirect="404.aspx"> <error statusCode="403" redirect="404.aspx" /> <error statusCode="404" redirect="404.aspx" /> <err…
遇到的问题 由A页面跳转到B页面,B页面停留在A页面的位置,没有返回到顶部. 问题分析 首先分析下出现此问题的原因: 在项目中使用的是 hashHistory,它是建立在 history 之上的,当路由发生变化时会记住原路由的状态,跳转新页面后默认停留在原页面的位置. 解决方法 使用 withRouter: withRouter可以包装任何自定义组件,将react-router 的 history,location,match 三个对象传入.无需一级级传递react-router 的属性,当需要…
https://www.cnblogs.com/goloving/p/9254084.html https://www.cnblogs.com/goloving/p/9254084.html 1.路由全局守卫 在做项目的时候,遇到需要做路由跳转,但当用户输入错误url地址,或是其它非法url路由地址,我们或许会想到跳转至404页面.不管你有没有写一个404页面,当出现未匹配路由都需重新指定页面跳转.可能大家首先想到会是路由重定向,redirect来解决这个问题.但实际上通过redirect是没办…
做网站在优化网站时遇到了跳转404页面却返回 200.302状态的问题,这样的话搜索引擎会认为这个页面是一个正常的页面,但是这个页面实际是个错误页面,虽然对访问的用户而言,HTTP状态码是“404”还是“200”并没有什么区别,一样是提高了用户体验,但对搜索引擎而言,这则是相当重要的,甚至是致命的. 当搜索引擎蜘蛛在请求某个错误URL地址得到“404”状态回应时,即知道该URL地址已经失效,便不再索引该网页,并向数据中心反馈将该URL地址表示的网页从索引数据库中删除,而当搜索引擎对于这个404页…
昨天是利用Django自带的runserver部署的服务器,但是由于runserver比较不稳定,因此决定采用uWSGI+nginx进行部署. 昨天已经安装好了uwsgi和nginx,使用该指令打开8000访问端口: uwsgi --http :8000 --chdir /home/icourse/iCourse --module iCourse.wsgi 然后利用笔记本和平板电脑分别访问,发现页面一片空白. 服务器后台的错误信息,: [pid: 31549|app: 0|req: 1/1] 1…
codeigniter(ci)在nginx下返回404的处理方法即codeigniter在nginx下配置方法 进入nginx的配置文件 加上一句(本来就有这句,只需要修改一下就行了) location / { index index.php; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?$1 last; break; } }…
vue中常用的路由模式 hash(#):默认路由模式 histroy(/)切换路由模式 切换路由模式 export default new Router({ // 路由模式:hash(默认),history模式 mode: 'history', // 修改路由高亮样式,默认值为'router-link-active' linkActiveClass: 'active' //路由规则 routes:[ { path:'/', name:'index', component:'Index' } ],…
今天一位客户说网站错误页面返回的状态码是302而不是404,问ytkah要如何处理.这个应该是设置没有正确的原因.我们一步步来排查一下.1.首先打开iis管理器,左侧选择具体的站点,在右侧窗口中点击404错误页,如下图所示 2.进入详细的错误页配置,选中404状态代码,右侧点编辑 3.在弹出的编辑自定义错误页中,相应操作选将静态文件中的内容插入错误相应中,文件路径填404.html(事先把编辑好的404.html放在网站根目录),点确定 4.再点击右侧的 编辑功能设置,选自定义错误页,确定 5.…
一. Nginx 配置 proxy_pass 后 返回404问题 故障解决和定位 1.1. 问题 在一次生产涉及多次转发的配置中, 需求是下面的图: 在配置好了 proxy_pass 之后,请求 www.djx.com 直接返回 404,没有什么其他的异常. 但是我们直接请求后端 www.baidu.com 是正常响应的.这就很怪异的. 看日志请求也是转发到了 www.baidu.com 的.但是请求响应就是404. 1.2. 寻找问题原因 我们的默认的 Nginx的 proxy_set_hea…
项目中有一个选择机场的需求,从表单页面--->机场页面(选择出发机场)-->表单页面-->机场页面(选择到达机场); 如果只用push跳转的话,页面返回必然会返回机场选择页面. 所以这里就使用了replace,但是重点是不仅仅机场页面跳转的时候用,在从表单页面跳转到机场页面时也用,机场页面选择完后replace跳转回表单页面就好了. 记录就只会有一条表单页面记录而没有机场列表的记录.…
图片返回404时候的处理 <img :src="userMsg.portrait" ref="img" alt=""> _this.$refs.img.onerror = function(){ _this.userMsg.portrait = require('@/assets/images/user_img.jpeg') }…
1.首先看了nginx报错日志 报 signal process started signal process started表示还有 产生原因 1.可能你的nginx.conf 内容配置的有问题. 2../nginx -r reload 启动命令默认加载的nginx.conf 的路径不对. 之前还以为本地安装的nignx端口号冲突了呢,结果不是 是配置的问题; 假如mac安装的nignx和集成环境mamp端口号重复了, 可以修改配置文件nginx.conf中端口号来解决 也可以停掉你不需要的那…
翻车事故分析: 因需对项目整体优化,调整过程,采用了路由的history模式,本地项目运行,刷新子页面都是OK的. 部署到测试服务器,正常跳转都ok,但刷新子页面就会出现404,请求变成了get,没有进入封装的请求体中,让人很费解,也有没有打印错误. 1.本地刷新子页面,地址栏路由状态OK,页面也能正常获取数据 2.部署到测试服务器上,刷新就唧唧了 注:首先,说明下vue-router的默认hash模式——使用URL的hash来模拟一个完整的URL,当URL改变时,页面不会重新加载.但是这种ha…
Vue build打包之后,刷新页面出现404,HTML5 History 模式 原因分析: vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面. const router = new VueRouter({ mode: 'histo…