地址重写
访问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 永久重定向