实现URL地址的重写与跳转。rewrite指令可以在 server、location 和 if 上下文中使用。将 /old-url/ 重写为 /new-url/ :注意:虽然上面的示例使用了 if 指令,但通常尽可能避免在 nginx 配置中使用 if,因为它可能会导致性能问题。更好的方法可能是使用 try_files 指令或其他方法。防止目录列表:如果你不希望用户能够列出目录的内容,你可以使用 rewrite 指令来重定向到一个错误页面或另一个 URI:官方说明: nginx.org/en/docs/http/...根据特定的条件来执行相应的配重块。if 指令在 server 和 location 上下文使用。当请求的User-Agent头包含MSIE(Internet Explorer的旧版本)时,Nginx 会将请求重写为 /msie/ 加上原始请求的路径,并停止处理后续的重写规则(break标志)。使用正则表达式从Cookie头中提取id的值。如果Cookie中包含形如id=some_value;或id=some_value的片段,那么变量$id将被设置为some_value。如果请求的方法是 POST,Nginx 将返回405状态码(方法不允许)。这通常用于确保某个位置或服务器仅支持 GET 或其他 HTTP 方法,而不支持 POST。如果变量 $slow 为真(需要在其他地方定义或根据其他条件设置),Nginx 将限制发送到客户端的响应速度为每秒10KB。用于防止在慢速连接上发送大量数据,或在某些条件下有意地限制带宽。如果变量 $invalid_referer 为真(表示请求的 Referer 头无效或不存在,或者不符合某些预期的模式),Nginx 将返回 403 状态码(禁止访问)。常用于防止热链接、保护资源或实施其他基于 Referer 的访问控制策略。用于设置变量。set 指令 只能在 server 上下文中使用。如果请求的 User-Agent 头包含 MSIE,则 $user_agent 变量将被设置为 "msie",否则它将保持为空字符串。然后,这个变量的值将被包含在返回的响应体中。