NGINX -- 详解Nginx几种常见实现301重定向方法上的区别
2018-01-16 22:54
459 查看
Nginx下常见的301跳转有以下三种,虽然都能达到同样的目的。但是三种写法上还是有区别的,主要的区别是在正则匹配的性能上。
第一种:使用rewrite指令,通过正则匹配所有的URI后再去掉开头第一个/(反斜线)。
第二种:同样使用rewrite指令,不同的是通过$request_uri变量匹配所有的URI。
这样写的好处是省去了去掉开头第一个反斜线的过程,正则匹配上性能更优。
第三种:使用return指令,通过301状态码和$request_uri参数,直接告诉Nginx这是个301重定向和抓取指定URI。
这种方法是性能上最优的,因为rewrite指令有很多写法和规则,执行完所有正则匹配后,Nginx 才会知道这是一个301永久重定向。
通过以上三种写法介绍,我们可以看出return指令在301跳转上比rewrite指令性能上更加有优势。虽然在访问量不大的情况下几种写法的性能表现上区别并不大,不过在海量访问中一个小小的优化也能在提升业务系统性能上起到不小的作用哟。
第一种:使用rewrite指令,通过正则匹配所有的URI后再去掉开头第一个/(反斜线)。
第三种:使用return指令,通过301状态码和$request_uri参数,直接告诉Nginx这是个301重定向和抓取指定URI。
通过以上三种写法介绍,我们可以看出return指令在301跳转上比rewrite指令性能上更加有优势。虽然在访问量不大的情况下几种写法的性能表现上区别并不大,不过在海量访问中一个小小的优化也能在提升业务系统性能上起到不小的作用哟。
相关文章推荐
- 详解Nginx几种常见实现301重定向方法上的区别
- Nginx几种常见实现301重定向方法上的区别
- 利用C#实现AOP常见的几种方法详解
- Python单体模式的几种常见实现方法详解
- Android的线程详解(几种实现方法及区别)
- Java线程池的几种实现方法和区别介绍实例详解
- 利用C#实现AOP常见的几种方法详解
- Java实现几种常见排序方法(上)
- Java实现几种常见排序方法(下)
- 详解PHP实现MVC的几种方法
- redis实现加锁的几种方法示例详解
- PHP跳转页面的几种实现方法详解
- 详解301重定向及实现方法
- (nginx|apache)+tomcat 几种常见的代理实现方式及连接类型(connector type) 推荐
- 多线程的几种实现方法详解
- 详解301重定向及实现方法
- 详解301重定向及实现方法
- 详解301重定向及实现方法
- 多线程的几种实现方法详解
- Java实现几种常见排序方法