文章详情页
关于nginx location匹配的问题
问题描述
配置nginx使其支持php-fpm时,发现一个问题,如下图配置
此时访问http://host/server.php是没问题的
但是当我去掉了~后
如图
此时访问http://host/server.php出问题了
请教为什么一定要有~号呢
我原先的理解是,/server.php这个uri能够匹配location php且匹配的长度比location / 长(3:1),所以在这种情况下有没有~ 都是一样的,结果却出人意料
求教大神,这是怎么回事?
问题解答
回答1:以=开头表示精确匹配
如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。
^~ 开头表示uri以某个常规字符串开头,不是正则匹配
~ 开头表示区分大小写的正则匹配;
~* 开头表示不区分大小写的正则匹配
/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到
没有见过你这种都不符合的情况。参考nginx配置location总结及rewrite规则写法
相关文章:
1. docker api 开发的端口怎么获取?2. css - 关于input标签disabled问题3. html5 - 百度Ueditor代码高亮和代码段滚动条冲突是怎么回事?4. java基础,求解答。5. javascript - 静态页面引公共头尾文件,js怎么写吖?6. 如何调整IDEA中直接运行java程序的日志输出级别?7. debian - docker依赖的aufs-tools源码哪里可以找到啊?8. css3中translate(-50%,-50%)对 transform-origin的奇葩影响?9. javascript - vue 数据更新了。但是dom没有更新,,,,,如图10. mysql - sql 中 group 和field 查询问题。
排行榜