nginx url rewrite之thinkphp示例
来源:互联网 发布:大数据时代案例分析 编辑:程序博客网 时间:2024/06/06 05:58
nginx url rewrite
Rewrite 主要的功能就是实现URL的重写,Nginx的Rewrite规则采用Pcre,perl兼容正则表达式的语法规则匹配,如果需要Nginx的Rewrite功能,在编译Nginx之前,需要编译安装PCRE库。
通过Rewrite规则,可以实现规范的URL、根据变量来做URL转向及选择配置。
- PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。
在使用thinkphp时,我们可能会用到url rewrite。例如:
location / { root html; if (!-e $request_filename) { #地址作为将参数rewrite到index.php上。 #rewrite ^/(.*)$ /index.php/$1; #若是子目录则使用下面这句,将subdir改成目录名称即可。 rewrite ^/ceshi/(.*)$ /ceshi/index.php/$1; rewrite ^/myblog/(.*)$ /myblog/index.php/$1; #rewrite ^/go/(.*)$ /go/index.php/$1; } index index.html index.htm; #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则 }
nginx正则示例
- /
匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配 ^~ /images/
匹配任何已/images/开头的任何查询并且停止搜索。任何其他正则表达式将不会被测试- ~* .(gif|jpg|jpeg)$
匹配任何已.gif、.jpg 或 .jpeg 结尾的请求
- ~* .(gif|jpg|jpeg)$
nginx正则如何测的$1,2等参数
nginx使用PCRE的正则,所以可以通过以下两种:
实例:
- rewrite内容 rewrite ^/ceshi/(.*)$ /ceshi/index.php/$1;
- 正则内容 /^\/ceshi\/(.*)$/
- 测试匹配 /ceshi/Service/Analysis/show
- https://regex101.com/#pcre
对/^\/ceshi\/(.*)$/
正则的匹配分析
- 使用php代码
$reg = "/^\/ceshi\/(.*)$/";$testData = "/ceshi/Service/Analysis/show";preg_match($reg, $testData, $matchs);print_r($matchs);#输出Array( [0] => /ceshi/Service/Analysis/show [1] => Service/Analysis/show)
通过以上两种工具可以的到,$1=Service/Analysis/show,rewrite后地址为:/ceshi/index.php/Service/Analysis/show;
0 0
- nginx url rewrite之thinkphp示例
- 配置nginx适应Thinkphp的URL rewrite
- Nginx下使Thinkphp URL模式支持PATHINFO和REWRITE
- Nginx下使Thinkphp URL模式支持PATHINFO和REWRITE
- 兼容ThinkPHP三种url模式的nginx rewrite
- thinkphp nginx 支持rewrite
- nginx配置ThinkPHP Rewrite
- nginx Thinkphp rewrite
- (Nginx) URL REWRITE
- nginx rewrite url
- nginx rewrite url 重写
- thinkphp rewrite模式重写URL
- thinkPHP 配置REWRITE URL模式
- nginx rewrite 相关示例
- nginx配置ThinkPHP Rewrite
- ThinkPHP Nginx pathinfo rewrite 配置
- Nginx下实现ThinkPHP的pathinfo及URL Rewrite模式支持
- Nginx下实现pathinfo及ThinkPHP的URL Rewrite模式支持
- 使用HttpCLient处理HTTP请求
- 去掉webView滚动条 swift
- leader/follower多线程模型
- 第十四周项目---平衡二叉树
- 【第12周 项目4 - 利用遍历思想求解图问题(6-7)】
- nginx url rewrite之thinkphp示例
- CSDN菜鸟中的笨鸟
- AutoLayout中的Content Hugging 和 Content Compression Resistance
- 第十二周--数据结构--图的遍历
- 第13周项目2
- uva11098
- 算法系统学习-1排序-快速排序
- Opencv中sift特征提取与匹配代码
- 【C/C++学院】0828-STL入门与简介/STL容器概念/容器迭代器仿函数算法STL概念例子/栈队列双端队列优先队列/数据结构堆的概念/红黑树容器