本日志内容来自互联网和平日使用经验,整理一下方便日后参考。 正则表达式匹配,其中:~ 为区分大小写匹配~* 为不区分大小写匹配!~和!~*分别为区分大小写不匹配及不区分大小写不匹配文件及目录匹配,其中:-f和!-f用来判断是否存在文件-d和!-d用来判断是否存在目录-e和!-e用来判断是否存在文件或目录-x和!-x用来判断文件是否可执行flag标记有:last 相当于Apache里的[L]标记,
转载
2024-06-25 04:50:05
173阅读
在nginx上部署vue项目(history模式); vue-router 默认是hash模式,使用url的hash来模拟一个完整的url,当url改变的时候,页面不会重新加载。但是如果我们不想hash这种以#号结尾的路径时候的话,我们可以使用路由的history的模式。比如如下网址:使用hash模式的话,那么访问变成 http://localhost:8080/bank/
转载
2024-04-12 06:40:25
392阅读
文章目录前言1、React router配置2、nginx 配置参考文档 前言React路由模式分为两种:hashHistory:比如 http://localhost:8080/#/loginbrowserHistory比如 http://localhost:8080/loginbrowserHistory的好处大于hashHistory, 但是麻烦的地方就是,browserHistory路由
转载
2024-04-17 13:32:34
181阅读
1. hash和history模式的区别hash模式url里面永远带着#号,我们在开发当中默认使用这个模式。如果用户考虑url的规范,需要推广宣传,或者开发的h5需要放在第三方的app里,有的app里面url是不允许带有#号的,需要将#号去除,那么就要使用history模式前端路由的核心,就在于 —— 改变视图的同时不会向后端发出请求。现代前端开发中最流行的页面模型,莫过于SPA单页应用架构。单页
转载
2024-05-31 11:42:16
388阅读
一、语法规则一、语法规则符号含义=开头表示精确匹配^~开头表示 uri 以某个常规字符串开头,理解为匹配 url 路径即可。nginx 不对 url 做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)~开头表示区分大小写的正则匹配~*开头表示不区分大小写的正则匹配/通用匹配,任何请求都会匹配到二、解析流程三、使用location = / {
转载
2024-02-10 14:43:49
321阅读
模式 含义location = /uri = 表示精确匹配只有完全相等才会匹配成功location ^~ /uri ^~ 表示对路由进行前缀匹配location ~ /uri ~ 表示对路由进行正则匹配location ~* /uri ~* 表示对路由进行不区分大小写的正则匹配location /uri 不带任何修饰符也表示前缀匹配location / 默认匹配,任何没有匹配到的uri多个 location 配置的情况下匹配顺序为(匹配到某一等级就结束,同一规则时匹配.
原创
2021-06-01 13:59:27
681阅读
问题出现的环境背景: vue项目打包生成dist文件夹,将dist放到本机的nginx下运行,打开页面,正常点击菜单时,可以打开页面,除了主页,其他路由页面使用浏览器刷新或者复制url地址打开时,会出现页面404的情况。nginx的配置如下:server {
# ...其他部分省略...
listen 8081;
server_name local
转载
2024-06-05 15:31:49
86阅读
Vue CLICLI是什么意思?CLI是Command-Line Interface,翻译为命令行界面,俗称脚手架Vue CLI是一个官方发布的vue.js项目脚手架使用脚手架可以快速搭建Vue开发环境以及对应的Webpack配置Runtime + Compiler
new Vue({
el: ‘#app‘,
template: ‘‘,
components: {
App
}
})
main.js
nginx中location对url匹配; 语法:location [=|~|~*|^~] /uri/ { … } 当匹配中符合条件的location,则执行内部指令;如果使用正则表达式,必须使用~*表明不区分大小写或者~区分大小写匹配;例如:location ~* \.(gif|jpg|jpeg)$ ;当配皮成功后,将停止往下匹配;如果没有找到,则使用常规自字符串处理结果; 如果不是用
转载
2024-03-28 10:52:17
359阅读
location路由规则配置详解location路由匹配发生在HTTP请求处理的find-config配置查找阶段,主要功能是:根据请求的URI地址匹配location路由表达式,如果匹配成功,就执行location后面的上下文配置块。实战案例说明本节的配置实例处于源码工程的nginx-location-demo.conf配置文件中。在运行本节的实例前,需要修改openresty-start.ba
转载
2024-03-27 09:18:30
117阅读
history路由模式下的nginx配置
路由模式众所周知,浏览器下的单页面应用的路由模式有下面两种: hash 模式和 history 模式。hash 模式通用性好,而且不依赖服务器的配置,省心省力,但是缺点是不够优雅。相比于 hash 模式来说,history 模式则更加美观。但是,history 模式同样会有一个问题,就是当页面刷新时,如果没有合适
转载
2024-04-16 22:20:25
97阅读
因为Flask比较容易上手,之前也拿flask写过几个小项目,不过当时天真地以为只要在服务器上nohup跑一个python脚本就算是成功发布了这个flask项目。实际上这还面临很多问题,比如并发性不好,不支持异步(虽然也可以在run里面加上threaded之类的参数来解决,但终究不是正途)等等。真正通用的做法应该是用某些web容器来启动项目。接下来说明做法 我测试部署的系统是Cent
哈希表
哈希表是一个基础的数据结构,中所周知,数组的随即访问效率是最高的,原因的是数组的随即访问可以通过索引直接定位到数据的实际地址,而无需遍历数组实现,这正是哈希表的思想,而数组也可以看成是索引为数字的特殊哈希表
哈希表实现了给定索引,直接计算出被索引数据存储地址的功能,这个过程是通过两次映射实现的
相关介绍nginx哈希表的实现是 ngx_hash_t。ngx_hash_t的实现也与数据结构教科书上所描述的hash表的实现是大同小异。 对于常用的解决冲突的方法有线性探测,二次探测和开链法等。ngx_hash_t使用的是开链法。源码分析哈希表的结构ngx_hash_elt_t是hash表中每一个元素的结构,实际存储在hash表中的结构typedef struct {
void
转载
2024-06-27 21:00:22
173阅读
Vue 为了构建 SPA(单页面应用),需要引入前端路由系统,这也就是 Vue-Router 存在的意义。前端路由的核心,就在于 —— 改变视图的同时不会向后端发出请求。 创建的项目默认是hash模式如果需要改为history需要在路由文件中配置,还有结合后台配置才能使用。 Hash:即地址栏 URL 中的 # 符号(此 hash 不是密码学里的散列运算)。
转载
2024-08-15 18:04:10
126阅读
nginx中location对url匹配; 语法:location [=|~|~*|^~] /uri/ { … } 当匹配中符合条件的location,则执行内部指令;如果使用正则表达式,必须使用~*表明不区分大小写或者~区分大小写匹配;例如:location ~* \.(gif|jpg|jpeg)$ ;当配皮成功后,将停止往下匹配;如果没有找到,则使用常规自字符串处理结果; 如果不是用
转载
2024-03-28 22:10:52
152阅读
一、 路由--Location的使用9.1. Location语法规则语法规则:首先匹配符号含义== 开头表示精确匹配^~^~开头表示uri以某个常规字符串开头,理解为匹配 url路径即可(禁止正则匹配)。~~ 开头表示区分大小写的正则匹配~*~* 开头表示不区分大小写的正则匹配!~和!~*!~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则/用户所使用的代理(一般为浏
转载
2024-04-07 12:27:11
76阅读
路由分两种:hash模式:url后面的有一个#,#后面的字符串,叫hash值,也叫锚点。
1)hash 值变化不会导致浏览器向服务器发出请求
2)hash 改变会触发 hashchange 事件 当hash值变化了,就会触发事件
3)在 html5 的 history 出现前,基本都是使用 hash 来实现前端路由的
4)由于hash路由,有个#,有人说比较丑
VUE路由vue的路由干啥用的?已知咱们的Vue框架搭建的项目是SPA(单页面应用),项目里只有一个html页面。为啥只有一个html呢? 为了减少页面的刷新,每次切换浏览器都刷新页面对用户很不友好。更新视图但不请求刷新页面,是我们前端路由的核心理念。所以vue的路由的作用就是:通过改变 URL,在不重新请求刷新页面的情况下,更新页面视图。路由的实现方式知道了路由是干啥的,那么怎么实现这种功能呢,
众所周知, hash 和 history 在前端面试中是很常考的一道题目。在学习本文内容之前,周一对 hash 和 history 的认知可能就在 hash 的 url 里面多了个 # ,而 history 就不会。然后,我认知里还有一个是只有 history 才能做前后端分离,而 hash 跟前后端分离没有关系。然而,现实是……对于前端路由来说, hash 和 history 都可以用于前后端分
转载
2024-10-14 20:57:09
191阅读