网站首页 > 技术教程 正文
目录
- 概述
- rewrite语法规则
- rewrite配置实例解析
- php7进阶到架构师相关阅读
概述
这是关于php进阶到架构之Nginx进阶学习的第二篇文章:nginx rewrite规则详解
- 第一篇:5分钟搞懂nginx的location匹配规则
- 第二篇:nginx rewrite规则详解
nginx的rewrite功能和apache一样,rewrite的主要功能是实现RUL地址的重定向。
Nginx的rewrite模块即ngx_http_rewrite_module模块。
rewrite机制从某种意义上可以说为了美观或者搜索引起的友好搜索,提高排名等
rewrite语法规则
语法:
rewrite regex replacement [flag]
rewrite:rewrite重写的关键字不可省略
regex:这里写的是正则表达式
replacement:这里是替换内容
flag:这里是flag标记
flag标记说明:
相关符号说明:
文件目录匹配:
rewrite配置实例解析
实例1 :多域名跳转到同一域名
server{
listen 80;
server_name www.toutiao.com toutiao.com ;
if($host != 'www.jkyst.xyz' ){
rewrite ^/(.*)$ http://www.toutiao.com/$1 permanent;
}
location ~.*\.(png|gif|jpg){
return 403;
}
}
该重写实例含义:
1.浏览器在地址栏访问toutiao.com相当于http://www.toutiao.com/,
2.permanent参数:表示浏览器地址栏地址由toutiao.com转为http://www.toutiao.com/
实例2 :当文件不存在时重定向到指定文件-permanent
server{
listen 80;
server_name www.gofor.com;
if(!-e $request_filename){
rewrite ^/test/(.*)$ http://www.gofor.com/test1/$1 permanent;
}
}
当访问 "test" 目录下的文件或目录不存在时,
则跳转到 "test1"下面的此文件或者目录,
跳转后会将URL进行转换(浏览器地址栏地址变更)
实例3 :当文件不存在时重定向到指定文件-last
server{
listen 80;
server_name www.gofor.com;
if(!-e $request_filename){
rewrite ^/test/(.*)$ index.html last;
}
}
表示当访问 "test" 目录下的文件或目录不存在时,则重定向到 "index.html"文件,
跳转后URl不会进行转换(浏览器地址栏地址不变)
实例4 :当文件不存在时重定向到指定文件
server{
listen 80;
server_name www.gofor.com;
if(!-e $request_filename){
rewrite ^/test/([0-9a-z]+)/([0-9a-z]+)/(.*)$ http://www.gofor.com/test/$1$2$3 permanent;
}
}
目录切换,表示将原目录转换成其他目录,【0-9a-z】表示转换后目录名称
实例5 匹配用户浏览器代理信息
server{
listen 80;
server_name www.gofor.com;
if ( $http_user_agent ~* ("Android")|(iPhone)){
rewrite ^/test/(.*)$ http://www.gofor.com/test/$1 permanent;
}
}
表示当匹配到浏览代理为Android和iPhone时进行重定向 "test"目录下的文件,改变访问的地址
php7进阶到架构师相关阅读
https://www.kancloud.cn/gofor/gofor
最后,欢迎大家留言补充,讨论~~~
猜你喜欢
- 2025-05-15 raksmart洛杉矶共享主机怎么设置
- 2025-05-15 批量二级域名自动访问子目录 - apache重写(rewrite)
- 2025-05-15 带你轻松玩转linux
- 2025-05-15 Java面试题及答案最全总结(2025版持续更新)
- 2025-05-15 Linux下玩转nginx系列(三)---nginx日志配置文件说明
- 2025-05-15 用WordPress建站哪些插件会拖慢速度影响排名?
- 2025-05-15 Java面试题及答案总结(2025版持续更新)
- 2025-05-15 nginx基础知识之rewrite正则表达式
- 2025-05-15 难道只有我懂Nginx/OpenResty详解,Nginx的rewrite模块指令?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)