现在公司旧域名www.fzr.com有业务需求变更,需要使用新域名www.zzj.com代替,但是旧域名不能废除 , 需要跳转到新域名上 , 而且后面的参数保持不变 。
vim /usr/local/nginx/conf/nginx.confserver { listen 80; server_name www.fzr.com; #域名修改 charset utf-8; access_log /var/log/nginx/www.fzr.com-access.log; #日志修改 location / { #添加域名重定向 if ($host = 'www.fzr.com'){ #$host为rewrite全局变量,代表请求主机头字段或主机名 rewrite ^/(.*)$ http://www.zzj.com/$1 permanent; #$1为正则匹配的内容,即域名后边的字符串 } root html; index index.html index.htm; }}echo "192.168.10.10 www.fzr.com www.zzj.com" >> /etc/hostssystemctl restart nginx #重启服务浏览器输入模拟访问 http://www.fzr.com/test/index.html会跳转到www.zzj.com/test/index.html,查看元素可以看到返回301,实现了永久重定向跳转,而且域名后的参数也正常跳转4.1.2 实例操作:基于域名跳转
(1)修改主配置文件

文章插图

文章插图
(2)重启服务并添加映射关系

文章插图

文章插图
(3)创建网页

文章插图

文章插图
(4)浏览器中访问测试

文章插图

文章插图
4.2基于客户端 IP 访问跳转4.2.1 基于客户端 IP 访问跳转的操作步骤
要求:今天公司业务新版本上线,要求所有 IP 访问任何内容都显示一个固定维护页面,只有公司 IP:192.168.10.10访问正常
vim /usr/local/nginx/conf/nginx.confserver { listen 80; server_name www.fzr.com; #域名修改 charset utf-8; access_log /var/log/nginx/www.fzr.com-access.log; #日志修改 #设置是否合法的IP标记 set $rewrite true; #设置变量$rewrite,变量值为boole值true #判断是否为合法IP if ($remote_addr = "192.168.10.10"){ #当客户端IP为192.168.10.10时,将变量值设为false,不进行重写 set $rewrite false; } #除了合法IP,其它都是非法IP,进行重写跳转维护页面 if ($rewrite = true){ #当变量值为true时 , 进行重写 rewrite (.+) /index.html; #重写在访问IP后边插入/index.html,例如192.168.10.10/index.html } location = /index.html { root /var/www/html; #网页返回/var/www/html/index.html的内容 } location / { root html; index index.html index.htm; }}mkdir -p /var/www/html/echo "<h1>正在维护</h1>" > /var/www/html/index.htmlsystemctl restart nginx
推荐阅读
- C语言指针重点
- 第2-2-4章 常见组件与中台化-常用组件服务介绍-分布式ID-附Snowflake雪花算法的代码实现
- 【ASP.NET Core】MVC控制器的各种自定义:应用程序约定的接口与模型
- 文明与征服2022钓鱼达人活动图文攻略
- 剑与远征奇境探险海螺奇妙夜通关路线图攻略
- 闪耀暖暖归人与过客完美搭配套装选择攻略
- 2022蚂蚁庄园8月9日答案最新
- iQOOZ5与RealmeQ3s哪个好_iQOOZ5与RealmeQ3s选哪个
- 我的世界漏斗与漏斗之间怎么相连(我的世界漏斗上怎么放东西)
- 图学习【参考资料2】-知识补充与node2vec代码注解
