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

2016-12-25发布在 Web技术531 次访问

nginx1

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

  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。

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

分享到微信朋友圈

LiaoSam
LiaoSam
给别人空间,让别人装逼!

相关文章

    暂无

抢沙发

发表我的评论

取消评论

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

已读说明
设为私密评论
添加表情

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

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)
  1. 可以了 陈奕迅
  2. 不说 李荣浩
  3. 喜剧之王 李荣浩
  4. 浪费 徐佳莹