美文网首页nginx365日更挑战
日更第7日: (翻)nginx调优之使用return代替rewr

日更第7日: (翻)nginx调优之使用return代替rewr

作者: 微凉哇 | 来源:发表于2021-10-19 08:16 被阅读0次

使用return代替rewrite做重定向

原文地址

解释说明

  1. NGINX中重写url的能力是一个非常强大和重要的特性,从技术角度讲returnrewrite均能实现。
    但使用return相对rewrite更简单和更快,因为计算RegEx会产生额外的系统开销。
  2. Return指令可以立即停止处理请求(它直接停止执行)并将指定的代码返回给客户端,省略了正则计算的流程。
  3. 如果你需要用regex验证URL或者需要获取原始URL中的元素(显然不在相应的NGINX变量中),那么你应该使用rewrite

使用样例

  • 不建议实现方式
server {

...

location / {

    try_files $uri $uri/ =404;

    rewrite ^/(.*)$ https://example.com/$1 permanent;

}

...

}
  • 建议实现方式
server {

  ...

  location / {

    try_files $uri $uri/ =404;

    return 301 https://example.com$request_uri;

  }

  ...

}

相关文章

网友评论

    本文标题:日更第7日: (翻)nginx调优之使用return代替rewr

    本文链接:https://www.haomeiwen.com/subject/gmcmoltx.html