NGINX 提取 url 的最后一部分

Run*_*oop 1 nginx

在我的配置文件中,我需要将网址的最后部分提取到变量中以在重定向中使用,例如如果网址是http://www.example.com/question,我需要“question”以便我可以设置重写一下。请问我该怎么做?

Run*_*oop 8

这可以通过以下方式实现:

if ($request_uri ~* "([^/]*$)" ) {
  set  $last_path_component  $1;
}
Run Code Online (Sandbox Code Playgroud)

然后您可以在任何您想要的地方使用 $last_path_component var。请注意,此正则表达式将返回最后一个 / 之后可能包含在 url 参数中的所有内容,因此如果您不需要它们,则必须相应地修改上面的正则表达式。

  • http://wiki.nginx.org/IfIsEvil (3认同)