Nginx服务的地址重写
调整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服务器
结束.
Nginx服务的地址重写的更多相关文章
- nginx篇最初级用法之地址重写
nginx服务器的地址重写,主要用到的配置参数是rewrite rewrite regex replacement flag rewrite 旧地址 新地址 [选项] 支持的选项有: last 不再读 ...
- 高级运维(三):部署Lnmp环境、构建Lnmp平台、地址重写
一.部署LNMP环境 目标: 安装部署Nginx.MariaDB.PHP环境 1> 安装部署Nginx.MariaDB.PHP.PHP-FPM: 2> 启动Nginx.MariaDB.FP ...
- Linux服务之nginx服务篇五(静态/动态文件缓存)
一.nginx实现静态文件缓存实战 1.nginx静态文件缓存 如果要熟练使用nginx来实现文件的缓存,那下面的几个指令你必须要牢记于心 (1)指令1:proxy_cache_path 作用:设置缓 ...
- nginx反向代理,负载均衡,动静分离,rewrite地址重写介绍
一.rewrite地址重写 地址转发后客户端浏览器地址栏中的地址显示是不变的,而地址重写后地址栏中的地址会变成正确的地址. 在一次地址转发过程中只会产生一次网络请求,而一次地址重写产生两次请求. 地址 ...
- Apache Nginx URL 地址 重写
URL重写这东西在工作中用了很多次了,但每次都忘记了要记得把知道的积累下来. 哎,要么认为没必要,要么就是没时间?! 一.Apache 篇 官方地址:http://man.chinaunix.net/ ...
- 9. nginx服务实验笔记
LNMP安装与配置 Nginx与apache.lighttp性能综合对比,如下图: 一.系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu系统 需要3GB以上硬盘 ...
- Nginx_地址重写(rewrite)_日志管理(log_format)_压缩输出_Nginx设定限速_Nginx设置反向代理及反向代理缓存
Nginx地址重写 Nginx rewrite rewrite语法规则1).变量名可以使用 "=" 或 "!=" 运算符~ 区分大小写~* 不区分大小写^~ 禁 ...
- nginx服务部署 说明
第1章 常用的软件 1.1 常用来提供静态服务的软件 Apache :这是中小型Web服务的主流,Web服务器中的老大哥, Nginx :大型网站Web服务的主流,曾经Web服务器中的初生牛犊 ...
- 1.Nginx服务应用
Nginx服务应用 Nginx的优点和作用 Nginx是一款高性能的HTTP和反向代理的服务器软件,还是一个IMAP/POP3/SMTP(邮件)代理服务器! Nginx在功能实现上都采用模块化结构设计 ...
随机推荐
- MySql 格式化时间(包括正常时间格式与unix时间戳的互相转换)
函数:FROM_UNIXTIME 作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示.语法:FROM_UNIXTIME(unix_timestamp ...
- 无管理员帐号的WIN7,如果使用自己的JDK版本?
因为公司的电脑只有普通权限, 而且JDK版本低了. 那我只好用BAT脚本来导入自己的环境啦,毕竟每次在CMD窗口输入太繁琐. set JAVA_HOME=D:\JDK8 set CLASSPATH=D ...
- nyoj_218_Dinner_201312021434
Dinner 时间限制:100 ms | 内存限制:65535 KB 难度:1 描述 Little A is one member of ACM team. He had j ...
- 搭建strom 的开发环境 - local mode
Setting Up a Development Environment This page outlines what you need to do to get a Storm developme ...
- jQuery Validate 使用
jQuery Validate 使用 <script src="js/b/js/jquery.validate.js"></script> <styl ...
- Oracle数据库导出导入
需求为将数据库A中的数据导出为*.dmp文件.然后将*.dmp文件导入到数据库B. 1.导出数据库A 在cmd窗体输入下面命令: 导出所有数据库 exp username/password@数 ...
- hdu1068 Girls and Boys --- 最大独立集
有一个集合男和一个集合女,给出两集合间一些一一相应关系.问该两集合中的最大独立集的点数. 最大独立集=顶点总数-最大匹配数 此题中.若(a,b)有关.则(b,a)有关.每个关系算了两次,相当于二分图的 ...
- 【你你你你在开玩笑吧】什么叫凭借纯兴趣搞ACM?涨姿势了
好长时间不扯淡了,今天扯个玩玩,吐个槽. 在上海回济南的列车上,回顾起这两天在携程codingtrip颁奖仪式上大牛们的种种心得,姿势涨了不少,着实涨了不少啊.我这样的渣渣毕竟图样图森 ...
- 3n+1问题
#include <stdio.h> #include <math.h> // 算法竞赛的目标是编程对任意输入均得到正确的结果. // 请先独立完成,如果有困难可以翻阅本书代码 ...
- hdu 2586(Tarjan 离线算法)
How far away ? Time Limi ...