陈奇网络工作室

NginxURL重写配置和详细信息解释

网站建设服务器

Nginx URL重写配置和信息详解

URL重写有利于网站首选域的确定,301对同一资源页面的多路径重定向有助于URL权重的集中。

Nginx URL重写简介

与apache等web服务软件一样,rewrite的主要功能是重定向RUL地址。Nginx的重写功能需要PCRE软件的支持,即通过perl兼容的正则表达式语句进行规则匹配。用默认参数编译nginx会支持rewrite的模块,但也必须PCRE支持。

重写是实现URL重写的关键指令。根据regex(正则表达式)部分,它被重定向到replacement,末尾是flag标记。

rewrite的语法格式和参数语法描述如下:

rewriteregexreplacement[flag];

关键字常规替换内容标志标签

关键字:不能更改关键字error_log。

正则性:perl与规则匹配的正则表达式语句兼容。

替换内容:用替换替换常规匹配的内容。

Flag标签:重写支持的flag标签。

最后一个标签描述:

Last #此规则匹配完成后,继续向下匹配新的位置URI规则。

Break #此规则一旦匹配将被终止,并且不会再匹配更多的规则。

Redirect #返回302临时重定向,跳转后浏览器地址会显示URL地址。

永久#返回301永久重定向,跳转后的URL地址会显示在浏览器地址栏。

重写参数的标签段位置:

服务器,位置,如果

示例:

重写^/(.*)http://www.czlun.com/$1永久居民;

描述:

Rewrite是一个固定的关键字,表示启动了重写匹配规则。

正则表达式部分是/(。*),这是一个正则表达式,匹配完整的域名和后面的路径地址。

替换部分是http://www.czlun.com/$1 $ 1,它取自正则表达式部分()。匹配成功后要跳转到的URL。

标志部分permanent表示永久301重定向标志,即跳转到新的http://www.czlun.com/$1地址。

正则表达式通用正则表达式的描述

性格;角色;字母

形容

\\\\

将下列字符标记为特殊字符、原义字符或反向引用。例如,“\ \\\\n”匹配换行符,而“\ \ $”匹配“$”

^

匹配输入字符串的起始位置

$

匹配输入字符串的结束位置。

*

零次或多次匹配前一个字符。例如,“ol*”可以匹配“o”、“ol”和“oll”

匹配前一个字符一次或多次。例如,“ol”可以匹配“ol”和“oll”和“oll”,但不能匹配“o”

零次或一次匹配前一个字符,例如,“do(es)?”你能把“do”和“does”搭配起来吗?相当于{0,1}。

匹配除“\ \ n”以外的任何单个字符。要匹配包括“\ \ n”在内的任何字符,请使用“[”之类的模式。\ \ \ n]"。

(模式)

匹配括号中的模式,稍后您可以获得相应的匹配。您通常使用$0.$9属性来获取括号中的匹配内容。要匹配括号,需要\ \ \(内容\ \ \ \)。

重写企业应用场景

Nginx的重写功能在企业中应用广泛:

u可以调整用户浏览的网址,看起来更规范,符合开发者和产品人员的需求。

u为了让搜索引擎更好地搜索网站内容和用户体验,企业会将动态URL地址伪装成静态地址来提供服务。

把网址换成新域名后,让旧访问跳转到新域名。例如,360buy.com谁访问JD.COM将跳转到jd.com。

u根据特殊变量、目录和客户端的信息调整URL。

Nginx配置重写流程介绍(1)创建重写语句

vi conf/vhost/www.abc.com.conf

#vi编辑虚拟主机简介

文件内容

服务器{

听80;

服务器名abc.com;

重写^/(.*)http://www . ABC . com/$ 1 permanent;

}

服务器{

听80;

服务器名www.abc.com;

位置/{

root/data/www/www;

索引index.html index.htm;

}

error _ log logs/error _ www . ABC . com . log error;

access _ log logs/access _ www . ABC . com . log main;

}

或者

服务器{

听80;

abc.comwww.abc.com;

如果($主机!=\\\'www.abc.com\\\' ) {

重写^/(.*)http://www.abc.com/$1永久居民;

}

位置/{

root/data/www/www;

索引index.html index.htm;

}

error _ log logs/error _ www . ABC . com . log error;

access _ log logs/access _ www . ABC . com . log main;

}

(2)重新启动服务

确认后可以重启,操作如下:

nginx -t

#结果显示ok,没有问题就可以重启成功。

nginx -s重新加载

(3)检查跳转效果

打开浏览器访问abc.com。

页面打开后,网址地址栏中的abc.com变成了www.abc.com,表示网址已经重写成功。

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3