![Nginx - 使用 map 进行多次重定向](https://linux22.com/image/666868/Nginx%20-%20%E4%BD%BF%E7%94%A8%20map%20%E8%BF%9B%E8%A1%8C%E5%A4%9A%E6%AC%A1%E9%87%8D%E5%AE%9A%E5%90%91.png)
我需要将一些 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
。
我做错了什么?也许有更好的批量重定向方法?