Nginx - 使用 map 进行多次重定向

Nginx - 使用 map 进行多次重定向

我需要将一些 URL 永久重定向到同一个域。我正在尝试使用map指令。我按照一些类似问题的答案操作,但它们不起作用。这是我的设置。 网站配置文件

map $request_uri $new_uri {
  /businesses/categories/1 /businesses/autobiznes;
  /businesses/categories/7 /businesses/torgovlya;
  /businesses/categories/8 /businesses/apteka;
}
server {
  listen 80;
  server_name www.website.ru;
  return 301 http://website.ru$request_uri;
}
server {
  listen 80 default_server;
  server_name website.ru;
  charset utf-8;
  keepalive_timeout 5;

  root /srv/www/website_production/current/public;
  try_files $uri/index.html $uri @puma;

  rewrite_log on;

  location ~ ^/businesses/categories {
    if ($new_uri) {
      return 301 $new_uri;
    }
  }
}

当我请求时,http://website.ru/businesses/categories/1
我应该得到http://website.ru/businesses/autobiznes
,但我得到的是http://www.$server_name.com/businesses/autobiznes
我做错了什么?也许有更好的批量重定向方法?

相关内容