nginx实现内容重定向的两种方式:rewrite和反向代理

Posted nginx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx实现内容重定向的两种方式:rewrite和反向代理相关的知识,希望对你有一定的参考价值。

第一种:rewrite

按照常规理解,实现重定向就是要用rewrite来实现,例如demo:

当访问test.cc/uri,如果uri资源在项目中不存在,就会重定向 http://www.yuhaiwei.net/blog/Api_element 网页。

但是使用rewrite重定向,浏览器链接是会发生变化的。


第二种:反向代理

有些场景需要内容重定向到另外一个url, 但是链接保持不变,这时候就可以利用反向代理配置来达到目的。

但是需要注意这样针对具体项目可能会有不同的细节问题,比如这个demo中http://test.cc/blog/Api_element网页里会用到相同域名下的静态资源,静态资源会因为上述重定向而无效,可以通过更细分的location或者结合if来实现针对不同规则的uri来实现不同方式的重定向,这里不详谈。


这里只是针对nginx反向代理配置的一个投机利用,如果不理解反向代理,一定请自行学习。

以上是关于nginx实现内容重定向的两种方式:rewrite和反向代理的主要内容,如果未能解决你的问题,请参考以下文章

nginx开启ssl并把http重定向到https的两种方式

Nginx的rewrite(地址重定向)剖析

nginx 重定向跳转和不跳转两种需求

Servlet实现重定向的两种方式

Nginx实践:用rewrite规则实现域名重定向及客户端IP地址透传

nginx_rewrite