美文网首页nginx365日更挑战
日更第5日: (翻)nginx调优之使用$request_uri

日更第5日: (翻)nginx调优之使用$request_uri

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

使用$request_uri代替正则

原文地址

解释说明

  1. 使用内置的$request_uri,我们可以有效地避免任何捕获或匹配操作(cpu计算),通常正则批量会增加CPU开销,从而降低系统整体性能
  2. 当规则为变换Host时(URI不变),直接使用$request_uri拼接新host更加高效。
  3. $request_uri的值总是从客户端接收到的原始URI(带参数的完整原始请求URI),与$URI指令相比不受任何规范化的约束
  4. 如果你需要匹配URI和它的查询字符串,可以在map指令中使用$request_uri
  5. 如果不加考虑地使用$request_uri会导致许多奇怪的行为。例如,在错误的地方使用$request_uri可能会导致URL编码字符变成双编码。
    所以大多数时候你应使用$uri,因为它是标准化的。

样例

  • 不建议实现方式
# 1)
rewrite ^/(.*)$ https://example.com/$1 permanent;

# 2)
rewrite ^ https://example.com$request_uri permanent;
  • 建议实现方式
return 301 https://example.com$request_uri;

相关文章

网友评论

    本文标题:日更第5日: (翻)nginx调优之使用$request_uri

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