NGINX位置重写URL,带或不带斜杠

rob*_*nnn 2 regex nginx url-rewriting

目前我有这个位置块:

location = /events {
    rewrite ^ https://totallydifferenturl.com;
}
Run Code Online (Sandbox Code Playgroud)

这成功重定向mywebsite/events,但我希望这个块也能处理mywebsite/events/.

尝试location = /events/?没有成功.

Wik*_*żew 13

您需要~运算符才能启用正则表达式匹配,并且由于您只需匹配website/eventswebsite/events/作为完整字符串,您将需要锚点^$模式周围:

location ~ ^/events/?$
         ^ ^         ^ 
Run Code Online (Sandbox Code Playgroud)

^/events/?$模式匹配:

  • ^ - 开始输入
  • /events - 一个文字子串 /events
  • /? - 一个或零个/符号
  • $ - 输入结束.