加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx:如何从给定列表中进行大规模永久重定向?

发布时间:2020-11-17 11:39:33 所属栏目:Nginx 来源:互联网
导读:我有大约400个网址将在新版本中更改,由于某些原因,我不能在新网站中重复相同类型的网址结构.我的问题是,我可以给一个网址列表给nginx(是的,我知道400个),并简单地告诉他,他们每个人都要去另一个网址?就像我说的url结构会有所不同所以我不能使用任何类型的模

我有大约400个网址将在新版本中更改,由于某些原因,我不能在新网站中重复相同类型的网址结构.

我的问题是,我可以给一个网址列表给nginx(是的,我知道400个),并简单地告诉他,他们每个人都要去另一个网址?

就像我说的url结构会有所不同所以我不能使用任何类型的模式.

提前致谢.

最佳答案 如果你有一个很长的条目列表,最好将它们放在nginx配置文件之外:

map_hash_bucket_size 256; # see http://nginx.org/en/docs/hash.html

map $request_uri $new_uri {
    include /etc/nginx/oldnew.map; #or any file readable by nginx
}

server {
    listen       80;
    server_name  your_server_name;

    if ($new_uri) {
       return 301 $new_uri;
    }

    ...    
}

/etc/nginx/oldnew.map示例:

/my-old-url /my-new-url;
/old.html /new.html;

Be sure to end each line with a “;” char!

此外,如果您需要将所有URL重定向到另一个主机,您可以使用:

return 301 http://example.org$new_uri;

或者,如果您还需要重定向到另一个端口:

return 301 http://example.org:8080$new_uri;

(编辑:商洛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读