Nginx rewrite 企业实战操作
admin
2023-03-21 05:01:10
0次

企业级rewrite 实战操作

Nginx rewrite 配置(文章由队员谆谆拟写)

我们的公共号

Nginx rewrite 企业实战操作

我们的 官网 https://wuguiyunwei.com

QQ群 602183872

相信大家在日常运维工作中如果你用到nginx作为前端反向代理服务器的话,你会对nginx的rewrite又爱又恨,爱它是因为你搞定了它,完成了开发人员的跳转需求后你会觉得很爽,觉得真的很强大,恨它是因为当一些稀奇古怪跳转的需求时候你会没有头绪、百般调试、上网求神拜佛都搞不定的时候真是想死的心都有了,当然网上也有很多nginx rewrite的经典示例,但是我感觉对我的工作都没有太大的帮助。下面是我工作中遇到的一些rewrite示例。提供给大家分享。

 

一、访问http://www.abc.com正常,现在需要访问abc.com,直接跳转到http://www.abc.com。

server {
listen 80;
server_name abc.com;
access_log off;
rewrite (.+) $scheme://www.$host$1 permanent;
}

二、如果你们域名是http://www.abc.com,现在想换一个域名http://www.def.com了,又不想失去之前域名的访问量,需要配置跳转。
首先需要在你的server_name里面把www.abc.com和www.def.cn都写上。
然后做如下配置:

location / {
if ($host = 'www.abc.com')
{
rewrite ^/(.*)$ http://www.def.com/$1 permanent;
}
}

三、跳转维护页面,比如今天维护,想挂一个维护页面,希望除某些特定的IP地址能正常访问,因为需要测试。其余所以的IP地址都是访问维护页面,这个需求我之前好像写过,但是今天写的有点不一样。在server里面添加如下内容:

set $rewrite true;
if ($remote_addr = "xxx.xxx.xxx.xxx") {
set $rewrite false;
}
if ($rewrite = true) {
rewrite (.+) http://www.abc.com/maintenance.html;
}
location = /maintenance.html {
  root /var/vhost;
}

四、比如现在你的域名是http://bbs.abc.com,现在将这个域名下面的帖子访问都跳转到http://www.abc.com/bbs,注意跳转后的参数也要保持一致。
比如:http://bbs.abc.com/post/addpost/913.shtml跳转到http://www.abc.com/bbs/post/addpost/913.shtml

location /post {
rewrite (.+) http://www.abc.com/bbs$1 permanent;
}

五、基于uri的跳转

if ($request_uri ~* ^/note\.php\?product_code=(.*)$) {
rewrite (.*) http://www.abc.com permanent;
}
if ($request_uri ~ ^/forum-(140|141|142|143|144|145|150|151|152|153|154|155|156|157|158|159|200|222|223|224|225|226|227|228)-(\d+).html$) {
rewrite (.*) http://www.abc.com/list permanent;
}

六、基于目录下面文件的跳转

location ~* /upload/.*\.php$ {
return 404;
}

七、最普通的url到url跳转

location ~* ^/ab/maintain/main.html {
rewrite (.+) http://www.abc.com/maintain/main.html permanent;
}

八、目录后的参数保持不变的跳转

rewrite ^/assets/upload/(.*)$ http://assets.kgc.cn/upload/$1 permanent;

九、多次匹配

if ($request_uri ~ ^/baseuiue(.shtml)|^/zhuanti/baseuiue(.shtml)) {
    rewrite (.+) http://123.abc.cn/zhuanti/baseuiue.shtml permanent;
}


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...