nginx rewrite常用示例

来源:本站
导读:目前正在解读《nginx rewrite常用示例》的相关信息,《nginx rewrite常用示例》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《nginx rewrite常用示例》的详细说明。
简介:本文是关于 nginx rewrite常用示例。

相信大家在日常运维工作中如果你用到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;}

虽然例子举不全,可能还有一些其它更好的跳转示例,以后再补充。有不对的地方欢迎大家拍砖。

提醒:《nginx rewrite常用示例》最后刷新时间 2024-03-14 01:12:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《nginx rewrite常用示例》该内容的真实性请自行鉴别。