地址重写

访问a.html重定向到b.html

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
server {
        listen       80;
        server_name  localhost;
location / {
    root   html;
  index  index.html index.htm;
  rewrite /a.html  /b.html;            
}
}
[root@proxy ~]# echo "BB" > /usr/local/nginx/html/b.html

访问a.html重定向到b.html(跳转地址栏)

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
server {
        listen       80;
        server_name  localhost;
location / {
    root   html;
  index  index.html index.htm;
  rewrite /a.html  /b.html  redirect;            
  }
}

修改配置文件(访问192.168.4.5的请求重定向至www.baidu.cn

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
server {
        listen       80;
        server_name  localhost;
     rewrite ^/ http://www.baidu.com/;
location / {
    root   html;
  index  index.html index.htm;
  # rewrite /a.html  /b.html  redirect;
  }
}

修改配置文件(访问192.168.4.5/下面子页面,重定向至www.baidu.com/下相同的页面)

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
server {
        listen       80;
        server_name  localhost;
     rewrite ^/(.*)$ http://www.baidu.com/$1;
location / {
    root   html;
  index  index.html index.htm;
  # rewrite /a.html  /b.html  redirect;
  }
}

修改配置文件(实现curl和火狐访问相同链接返回的页面不同)

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
server {
        listen       80;
        server_name  localhost;
location / {
    root   html;
  index  index.html index.htm;
}
#这里,~符号代表正则匹配,*符号代表不区分大小写
if ($http_user_agent ~* firefox) {            //识别客户端firefox浏览器
  rewrite ^(.*)$  /firefox/$1;
  }
}

 

地址重写格式【总结】

rewrite 旧地址 新地址 [选项];

last 不再读其他rewrite

break 不再读其他语句,结束请求

redirect 临时重定向

permament 永久重定向

posted @ 2018-12-20 09:41  Ray_chen  阅读(306)  评论(0编辑  收藏  举报