我看到一个 nginx 重写规则,它从 URL 中捕获查询参数,并将相同的查询参数应用于重写的 URL。我可以理解,在某些情况下,在重写规则中捕获查询参数可能/将是有益的,但在我看来,在这种情况下这样做是没有意义的。
有问题的重写规则如下:
rewrite ^/users/(\d+)\.html(?:\?(.*))?$ /users/profile.php?id=$1&$2 last;
我怀疑这是没有意义的吗?我相信以下重写规则会产生相同的效果:
rewrite ^/users/(\d+)\.html$ /users/profile.php?id=$1 last;