我正在将旧的 URL 移动到新的 URL(超过 50 个),因此我已将 URL 放在一个文件中,但重定向没有发生。
map_hash_max_size 262144;
map_hash_bucket_size 262144;
map $uri $new {
include /etc/nginx/maps/redirect_example_com.map;
}
if ($new) {
rewrite ^ $new redirect;
}
下面的 URL 位于文件 redirect_example_com.map 中
/wp/articles /aricles;
另一个运行良好的虚拟主机正在使用相同的配置。
#map_hash_max_size 262144;
#map_hash_bucket_size 262144;
map $uri $new {
include /etc/nginx/maps/redirect_hello_com.map;
}
if ($new) {
rewrite ^ $new redirect;
}
这里我没有使用桶大小。
答案1
该map
指令位于http
Nginx 配置块内。尽管您可以将配置分成多个单独的文件,但 Nginx 会将它们解释为单个连续的文档。
因此你的配置如下所示:
http {
map $uri $new { ... }
server {
if ($new) { ... }
}
map $uri $new { ... }
server {
if ($new) { ... }
}
}
您必须将其中一个$new
变量重命名为唯一的名称。请参阅这个文件了解更多信息。