第一种:rewrite 更多参考另一个blog
按照常规理解,实现重定向就是要用rewrite来实现,例如demo:
[root@nginx01 ~]# vi /etc/nginx/conf.d/rewrite01.confserver { listen 80; server_name cnblogs.linuxds.com; access_log /var/log/nginx/cnblogs.access.log main; error_log /var/log/nginx/cnblogs.error.log warn; location / { if ($host = 'cnblogs.linuxds.com') { rewrite ^/(.*) http://www.cnblogs.com redirect; } }}配置解释:结合if指令来对nginx请求进行判断,若访问http://cnblogs.linuxds.com/index/1.html,即$host = 'cnblogs.linuxds.com' 的时候,进行重定向跳转,重定向至 http://www.cnblogs.com。 使用rewrite重定向,浏览器链接是会发生变化:http://www.cnblogs.com后缀index/1.html 是没有跟上的
复制
第二种:反向代理
有些场景需要内容重定向到另外一个url, 但是链接保持不变,这时候就可以利用反向代理配置来达到目的。cc/1.html 是不会变的
location /abc/ { proxy_pass http://localhost:8101; }请求 http://myip/abc/cc/1.html 实际请求 http://localhost:8101/abc/cc/1.html 后缀是不变的 location /abc/ { proxy_pass http://localhost:8101/; }请求 http://myip/abc/cc/1.html 实际请求 http://localhost:8101/cc/1.html 后缀是不变的
复制