Nginx教程 :nginx URL 重写
Nginx URL重写(rewrite)介绍
和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向。Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的。默认参数编译nginx就会支持rewrite的模块,但是也必须要PCRE的支持
rewrite是实现URL重写的关键指令,根据regex(正则表达式)部分内容,重定向到replacement,结尾是flag标记。rewrite语法格式及参数语法说明如下:
rewrite | <regex> | <replacement> | [flag] |
---|---|---|---|
关键字 | 正则 | 替代内容 | flag标记 |
其中关键字error_log不能改变 | perl兼容正则表达式语句进行规则匹配 | 将正则匹配的内容替换成replacement | rewrite支持的flag标记 |
flag标记说明:last #本条规则匹配完成后,继续向下匹配新的location URI规则break #本条规则匹配完成即终止,不再匹配后面的任何规则redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址
rewrite参数的标签段位置:
server,location,if
Demo
rewrite ^/(.*) http://www.czlun.com/$1 permanent;
说明: rewrite为固定关键字,表示开始进行rewrite匹配规则regex部分是 ^/(.*) ,这是一个正则表达式,匹配完整的域名和后面的路径地址replacement部分是http://www.czlun.com/$1 $1,是取自regex部分()里的内容。匹配成功后跳转到的URL。flag permanent表示永久301重定向标记,即跳转到新的 http://www.czlun.com/$1 地址上
- regex 常用正则表达式说明
字符 | 描述 |
---|---|
\ | 将后面接着的字符标记为一个特殊字符或一个原义字符或一个向后引用。如“\n”匹配一个换行符,而“$”则匹配“$” |
^ | 匹配输入字符串的起始位置 |
$ | 匹配字符串的结束位置 |
* | 匹配前面的字符零次或者多次 |
+ | 匹配前面的字符一次或者多次(至少一次) |
? | 匹配前面的字符零次或者一次(至多一次) |
. | 匹配 \n 值为的任意单个字符 |
(pattern) | 匹配括号内pattern并可以在后面获取对应的匹配,常用$0…$9属性获取小括号中的匹配内容,要匹配圆括号字符需要(Content) |
rewrite 企业应用场景
可以调整用户浏览的URL,看起来更规范,合乎开发及产品人员的需求。
为了让搜索引擎搜录网站内容及用户体验更好,企业会将动态URL地址伪装成静态地址提供服务。
网址换新域名后,让旧的访问跳转到新的域名上。例如,访问京东的360buy.com会跳转到jd.com
根据特殊变量、目录、客户端的信息进行URL调整等Nginx配置rewrite过程介绍
1)创建rewrite语句 #编辑配置文件
server {listen 80;server_name abc.com;rewrite ^/(.*) http://www.abc.com/$1 permanent;}server {listen 80;server_name www.abc.com;location / {root /data/www/www;index index.html index.htm;}error_log logs/error_www.abc.com.log error;access_log logs/access_www.abc.com.log main;}或者server {listen 80;server_name abc.com www.abc.com;if ( $host != 'www.abc.com' ) {rewrite ^/(.*) http://www.abc.com/$1 permanent;}location / {root /data/www/www;index index.html index.htm;}error_log logs/error_www.abc.com.log error;access_log logs/access_www.abc.com.log main;}
重启服务
确认无误便可重启,操作如下:
确认无误便可重启,操作如下:nginx -t#结果显示ok和success没问题便可重启nginx -s reload
Nginx教程 :nginx URL 重写相关推荐
- nginx php配置重写,nginx 配置 php url 重写
nginx 配置 Https php url 重写server { listen 80; server_name www.goodsunlc.com; rewrite ^(.*) https://$s ...
- nginx服务器中url重写rewrite参数和例子
本文转自:http://www.cnblogs.com/cgli/archive/2011/05/16/2047920.html 最近在VPS上尝试配置安装一个网站,VPS安装了LNMP(Linux+ ...
- Nginx实现URL重写
本文利用Nginx实现URL重写,本文使用Nginx与静态页面配合重写URL. 1.准备工作. 结合本文场景,需要安装Nginx. 1.1 关于Linux系统安装Nginx可以参考我的文章---(传送 ...
- tp3 普通模式url模式_[tp3.2.1]开启URL(重写模式),省略URL中的index.php
重写模式(省略url中的index.php) 在apache配置文件httpd.conf中,查找 1.mod_rewrite.so, 启动此模块 2.AllowOverride , 值= All 3. ...
- nginx url 重写_Nginx重写URL规则示例
nginx url 重写 NGINX rewrite rules are used to change entire or a part of the URL requested by a clien ...
- (Nginx和PHP下)URL重写,TP实现URL重写
ngnix中添加网站重定向 由于域名没备案所以不能使用隐性url直接域名转接到另一个网站,所以迫于无奈只能在Vhost上动手脚了,原理是先访问另一个网站,然后由这个网站做转发. 方法很简单,找到ngi ...
- Cento7+Nginx 之 URL重写
Cento7+Nginx 之 URL重写 我们前一篇文章写了一个Cento7+Nginx 反向代理实现多域名跳转,今天主要介绍一下Cento7+Nginx 之 URL重写, Hostname: ...
- Nginx之反向代理、日志格式、集群、缓存、压缩、URl 重写,读写分离配置
location的模式匹配按照优先级由低到高有以下四种: Nginx作为一个优秀的Web服务器,不仅在处理静态内容上比Apache优秀,还经常被用来做反向代理服务器,且支持缓存,URL重写,自定义格式 ...
- Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解(1)
大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统 ...
最新文章
- php 显示要上传的图片格式,php判断文件上传图片格式的实例详解
- python中post请求太慢_python中POST请求的连续响应
- 我是怎样成长为系统架构师的
- Android项目技术总结:项目中选择任务的联系人引出android的spinner的监听问题
- 什么原因接触接触impala的
- [C++] iota语句的语法
- 软件外部接口和内部接口_java中的内部类内部接口详解
- poj1258Agri-Net
- Python中的第三方模块(微信为例)
- 构造模式(Builder Pattern)
- 常用的python模块及安装方法
- Linux 安装 OFFICE 2007
- 汇编语言王爽第四版 实验四(包括对【bx】,loop详解)
- fgui快速接入到一个laya实例项目中
- 手游反抗战兴起,《原神》打响“起义“第一枪
- 使用PE安装纯净版win7
- 电子电路学习笔记(7)——LED发光二极管限流电阻计算
- jar中没有主清单属性
- 逆流而上不如顺势而为——SaaS时代正悄然来临
- oracle 时间毫秒数,计算Oracle中两个时间戳之差(以毫秒为单位)
热门文章
- 汇川H5U走EtherCat控制伺服带HMI程序,轴控制和气缸控制有做功能块
- MCAL系列介绍03-ADC
- 编程题A-实部与虚部的和
- 【从零开始学习 SystemVerilog】11.2、SystemVerilog 断言—— Immediate Assertions(立即断言)
- 前端构建工具是什么?
- 服务器2008 r2开启远程桌面连接不上,windows server 2008 R2怎么开启远程桌面_windows server 2008 R2开启远程桌面的步骤...
- OC 7141采用 SOT-23-5 封装,电源电压: 2.5V~6V,线性降压恒流驱动器
- 端口扫描程序 快速扫描 多线程、范围端口、范围IP、查看历史记录 Windows/MacOS
- Jimmer彻底完成了,一个面向Java/Kotlin的革命性ORM
- Java如何实现哈夫曼编码