本文详细介绍了NginxURL重写系统的基本原理和应用案例。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值,朋友们一定要参考。
重写URL有利于URL首选域的定义,对于同一资源页面的几路301重定向有利于URL权重的集中化。
nginxURL重写详细介绍
与apache和其他web服务手机软件一样,rewrite的组角色是完成RUL详细地址的重定向。Nginx的重写功能必须有PCRE手机软件支持,即按照perl兼容的正则表达式语句进行标准搭配。默认设置主要参数的编译器nginx会支持rewrite的控制模块,但也必须得到PCRE的支持。
Rewrite是完成URL重写的一个重要命令。根据regex(正则表达式)的部分,重定向到替换,标志在末尾。
重写英语的语法格式和主要参数如下:
重写<regex><替换>[标志];
关键字用正则表达式替换内容标志
关键字:不能更改关键字error_log。
正则表达式:perl兼容正则表达式语句进行标准搭配。
替换内容:用替换替换常规匹配内容。
Flag:重写支持的标志flag
旗帜表明:
重写主要参数的标识段:
服务器,位置,如果
示例:
重写^/(.*)http://www.czlun.com/永久居民;
显示:
regex普通正则表达式表明
叙述
将下面的标识符标识为特殊符号、原始标识符或反向介绍。例如带有换行符的“\n”和带有“$”的“\$”
[h/]^键入搭配字符串数组的开头和结尾。
$键入搭配字符串数组的结尾。
*匹配前面的标识符零次或多次。例如,“ol*”可以与“o”、“ol”和“oll”匹配
匹配前面的标识符一次或多次。例如,“ol”可以与“ol”和“oll”组合,但不能与“o”组合
?匹配前面的标识符零次或一次,如“do(es)?”可与“do”或“does”连用,“?”相当于“{0,1}”
。匹配除“\n”以外的所有单个标识符。如果要匹配任何包含“\n”的标识符,请使用类似“[的方法。\n]”。
(模式)匹配括号中的模式,并在后面获得匹配的匹配。常见的[46]...特性获取括号中的匹配内容。要匹配括号标识符,您必须\(Content\)。
重写应用程序字段Nginx的重写功能在公司应用广泛:
Nginx配备重写的全过程详细介绍
(1)构建重写句子
viconf/vhost/www.abc.com.conf
#vi编辑云虚拟主机环境变量
文档内容
server{ listen80; server_nameabc.com; rewrite^/(.*)http://www.abc.com/$1permanent; } server{ listen80; server_namewww.abc.com; location/{ root/data/www/www; indexindex.htmlindex.htm; } error_loglogs/error_www.abc.com.logerror; access_loglogs/access_www.abc.com.logmain; }或者
server{ listen80; server_nameabc.comwww.abc.com; if($host!='www.abc.com'){ rewrite^/(.*)http://www.abc.com/$1permanent; } location/{ root/data/www/www; indexindex.htmlindex.htm; } error_loglogs/error_www.abc.com.logerror; access_loglogs/access_www.abc.com.logmain; }(2)重新启动服务项目
如果确定正确,可以重启。实际 *** 作如下:
nginx-t
#数据显示ok和success重启没有任何问题。
nginx-s重新加载
(3)查询自动跳转的实际效果
打开浏览器浏览abc.com。
页面打开后,URL地址栏的abc.com变成www.abc.com,表示URL重写成功。
文章内容就这么多了。期待对大家的学习和训练有所帮助,也期待大家的支持。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)