使用 nginx 重写几千个 URL

使用 nginx 重写几千个 URL

我需要重定向我网站上的几千个 URL。它们都在/Forum路径下,因此/Forum/A变为/Forum/new_path/Forum/B变为/Forum/another_new_path_of_B等等。(如果需要,这些 URL 可以包含查询字符串)。

最好的方法是什么?我需要为每个 URL 设置单独的规则。

问题 #1:我可以在 nginx 中分组规则吗?例如 nginx,可以检查 URL 是否以 开头/Forum/.*,如果是,则运行重写规则(以获得更好的性能)。

问题2:我是否应该担心 nginx 配置中几千个重定向会对性能造成影响?

答案1

我认为你需要改写

location /Forum {
  rewrite /Forum/([^/]*)(.*) /Forum/$1-new$2 break;
}

相关内容