Web技术

Nginx下 return 和 rewrite在 301重定向上的区别

料神Sam发布于 2016-12-25阅读 17607 次评论 0

Nginx 下 return 和 rewrite 在 301 重定向上的区别-料网 - 外贸老鸟之路

唯一区别:正则匹配的性能区别

  1. rewrite ^/(.*)$ https://example.com/$1;
  2. rewrite ^ https://example.com$request_uri? permanent;
  3. return 301 https://example.com$request_uri;

第一种 rewrite 写法是抓取所有的 URI 再减去开头第一个 / (反斜线)。

第二种写法用了$request_uri 省去了减去开头第一个反斜线的过程,正则匹配上性能更优。但仍不如第三种写法,因为 rewrite 有很多写法和规则,执行到最后 nginx 才知道这是一个 301 永久重定向。

第三种则直接 return 301 + $request_uri,直接告诉 nginx 这是个 301 重定向,直接抓取指定 URI。

所以以上三种写法,第三种性能更优一些。当然,一般情况下快那么一点点,作为普通业余站长来说,我们也感觉不到。

本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。

分享到: 微信 新浪微博 QQ Qzone
料神Sam
识不足则多虑,威不足则多怒,信不足则多言。
SiteGround外贸建站主机优惠券

抢沙发

发表我的评论

取消评论

邮箱白名单说明:最近料网自动提醒邮件经常会被一些邮件服务商拦截。为了您顺利并及时地收取留言被回复的提醒邮件,请在您邮箱中把料网 liaosam.com 加入白名单域名。

我不是机器人
设为私密评论
添加表情

Hi,您需要填写昵称和邮箱!

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)
  • 问题验证:今年年份是?