189 8069 5689

Nginxrewrite企业实战操作-创新互联

企业级rewrite 实战操作

创新互联公司主要从事成都网站制作、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务南陵,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

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; }

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:Nginxrewrite企业实战操作-创新互联
浏览地址:http://cdxtjz.com/article/pohdc.html

其他资讯