首页 > 代码库 > Nginx rewrite
Nginx rewrite
Nginx rewrite 实现 URL 地址重写,即域名重定向,在安装 nginx 的时候需要安装 PCRE 来支持 rewrite 功能。
语法:rewrite regex replacement [flag] //表示如果匹配到正则regex,就跳转到replacement,rewrite是固定关键字,flag是标记
正则:
\ :用于转义字符,如 \n 表示匹配换行 、\$ 表示匹配 $
^ :匹配起始位置
$ :匹配结束位置
* :匹配前面的字符零次或多次,如 ab* 可以匹配 a 或 abbb
+ :匹配前面的字符一次或多次,如 ab+ 可以匹配 ab 或 abbb
? :匹配前面的字符零次或一次,如 ab? 可以匹配 a 或 ab
() :匹配括号内的模式,并可以在后面获取对应的匹配
flag 标记:
last :重定向之后继续向下匹配新的 location URI 规则,且浏览器地址栏不变
break :重定向之后不再匹配后面的任何规则,且浏览器地址栏不变
redirect :返回 302 临时重定向,浏览器地址栏会显示跳转后的 URI 地址
permanent :返回 301 永久重定向,浏览器地址栏会显示跳转后的 URI 地址
配置实例:
server { listen 80; server_name www.aaa.com www.bbb.com;
if {$host != ‘www.bbb.com‘}
{
rewrite ^/(.*)$ http://www.aaa.com/$1 permanent; //表示当用户访问www.bbb.com/下的任意内容时跳转到www.aaa.com/下的任意内容 }
location / { root html/www; index index.html index.htm; }
说明:
rewrite 是固定关键字
^/(.*) 表示匹配所有
http://www.aaa.com/ 是跳转的域名
$1 是前面正则表达式括号里的内容
permanent 表示永久 301 重定向标记,即跳转到后面的 http://www.aaa.com/$1 地址上
Nginx rewrite
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。