调整Nginx服务器配置,实现:

1.所有访问a.html的请求,重定向到b.html;

2.所有访问Nginx服务器(192.168.4.1)的请求重定向至www.baidu.com;

3.所有访问Nginx服务器(192.168.4.1)/下面子页面,重定向至www.baidu.com/下相同的页面.

4.实现firefox与curl访问相同页面文件,返回不同的内容

总结地址重写的格式有:

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

last 不再读其他rewrite

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

redirect 临时重定向

permament 永久重定向

1. 所有访问a.html的请求,重定向到b.html

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf

......

server {

listen 80;

server_name localhost;

rewrite /a.html /b.html redirect;    //地址跳转到b.html

location / {

root html;

index index.html index.htm;

}

}

# echo "test page" > /usr/local/nginx/html/b.html   //在网页文件里写入数据,用于测试

# /usr/local/nginx/sbin/nginx -s reload   //重启,加载配置

[root@client ~]# firefox http://192.168.4.5/a.html    //客户端测试,访问a.html,但浏览器地址栏会自动跳转到b.html的页面

2.所有访问Nginx服务器(192.168.4.1)的请求重定向至www.baidu.com

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf

......

server {

listen 80;

server_name localhost;

rewrite  ^/  http://baidu.com/ ;    //地址跳转到百度

location / {

root html;

index index.html index.htm;

}

}

# /usr/local/nginx/sbin/nginx -s reload   //重启,加载配置

[root@room9pc01 ~]# firefox http://192.168.4.1   //真机上访问Nginx服务器,浏览器地址栏自动跳转至www.baidu.com

3.所有访问Nginx服务器(192.168.4.1)/下面子页面,重定向至www.baidu.com/下相同的页面

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf

......

server {

listen 80;

server_name localhost;

rewrite  ^/(.*)$  http://baidu.com/ $1;    //地址跳转到百度下的子页面,这里用到了正则,即以/开头,以任意内容结尾(.*)$

location / {

root html;

index index.html index.htm;

}

}

# /usr/local/nginx/sbin/nginx -s reload   //重启,加载配置

[root@room9pc01 ~]# firefox http://192.168.4.1/test   //真机上访问Nginx服务器下的子页面,浏览器地址栏自动跳转至www.baidu.com/子页面

4.实现firefox与curl访问相同页面文件,返回不同的内容

4.1创建网页目录以及对应的页面文件,用于测试:

# echo "I am normal page" > /usr/local/nginx/html/test.html

# mkdir -p /usr/local/nginx/html/firefox/

# echo "wo shi firefox page" > /usr/local/nginx/html/firefox/test.html

4.2修改Nginx服务配置

[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) {    //变量$http_user_agent能识别客户端的firefox浏览器,这里的符号~示意正则匹配,符号*示意不区分大小写

rewrite ^/(.*)$  /firefox/$1;

}

}

# /usr/local/nginx/sbin/nginx -s reload   //重启,加载配置

# firefox http://192.168.4.1/test.html     //使用火狐浏览器访问Nginx服务器

# curl http://192.168.4.1/test.html    //本地curl访问Nginx服务器

结束.

最新文章

  1. node08-express
  2. 兼容利器之X-UA-Compatible
  3. 史上最全的maven pom.xml文件教程详解
  4. tab1
  5. 最流行的JavaScript库jQuery不再支持旧版IE
  6. ie6 span 换行IE6中float:right换行问题的替代解决方案
  7. Python原始套接字编程
  8. hdu 1333 Smith Numbers
  9. SPOJ 962 Intergalactic Map (从A到B再到C的路线)
  10. Js数学函数1
  11. html+js+ashx+easyui+ado.net权限管理系统
  12. Dashboard集群
  13. 【数学建模】灰色系统理论II-Verhulst建模-GM(1,N)-GM(2,1)建模
  14. HDU 5963(游戏 博弈+规律)
  15. 使用docker构建简约高效的镜像
  16. [LeetCode&Python] Problem 389. Find the Difference
  17. OpenJudge 由中根顺序和后根序列重建二叉树
  18. 小希的迷宫(hdu1272)并查集(有点坑)
  19. P3810 【模板】三维偏序(陌上花开)
  20. 06 Frequently Asked Questions (FAQ) 常见问题解答 (常见问题)

热门文章

  1. [HDU3518]Boring counting(后缀数组)
  2. [E2E] Visual Differing Tests with Puppeteer and PixelMatch
  3. Eclipse搭建maven开发环境
  4. bzoj1087【SCOI2005】互不侵犯King
  5. HPU 1002 A + B Problem II【大数】
  6. 哈理工2015暑假集训 zoj 2975 Kinds of Fuwas
  7. jquery文件批量上传控件Uploadify3.2(java springMVC)
  8. Extjs4,form提交时emptyText传值问题
  9. Android:制作Update.zip升级包 【转】
  10. elasticsearch _field_stats 源码分析