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

第一种:rewrite

按照常规理解,实现重定向就是要用rewrite来实现,例如demo:
nginx实现内容重定向的两种方式:rewrite和反向代理_第1张图片
当访问test.cc/uri, 如果uri资源在项目中不存在,就会重定向 http://www.yuhaiwei.net/blog/... 网页。
但是使用rewrite重定向,浏览器链接是会发生变化的。

第二种:反向代理
有些场景需要内容重定向到另外一个url, 但是链接保持不变,这时候就可以利用反向代理配置来达到目的。
nginx实现内容重定向的两种方式:rewrite和反向代理_第2张图片
但是需要注意这样针对具体项目可能会有不同的细节问题,比如这个demo中http://test.cc/blog/Api_element 网页里会用到相同域名下的静态资源,静态资源会因为上述重定向而无效,可以通过更细分的location或者结合if来实现针对不同规则的uri来实现不同方式的重定向,这里不详谈。这里只是针对nginx反向代理配置的一个投机利用,如果不理解反向代理,一定请自行学习。

nginx公众号也会推送好文,主要聊聊后端技术,扫描或者搜索nginx即可添加。
nginx实现内容重定向的两种方式:rewrite和反向代理_第3张图片

你可能感兴趣的:(nginx实现内容重定向的两种方式:rewrite和反向代理)