一、准备工作
在开始批量配置301跳转前,需确认以下环境:
- 服务器Web软件:Nginx 或 Apache(本教程以Nginx为例)
- 拥有服务器root或sudo权限
- 已备份原站点配置文件(
/etc/nginx/sites-available/)
二、批量配置301跳转规则
方案1:基于map指令批量映射(推荐)
在Nginx的http块中定义map映射,将旧域名与新域名对应:
http {
map $http_host $new_host {
hostnames;
default "newdomain.com";
old1.com "newdomain.com";
old2.com "newdomain2.com";
*.old3.net "newdomain3.com";
}
}
然后在server块中使用:
server {
listen 80;
server_name old1.com old2.com *.old3.net;
return 301 $scheme://$new_host$request_uri;
}
方案2:正则匹配批量重写
适用多域名跳转到同一目标域名:
server {
listen 80;
server_name ~^(www\.)?(old1|old2|old3)\.(com|net)$;
rewrite ^/(.*)$ http://newdomain.com/$1 permanent;
}
方案3:使用include批量引入规则文件
将每个域名的跳转规则写入单独文件,再在主配置中批量include:
- 在
/etc/nginx/redirects/目录下创建多个.conf文件,每个文件内容示例:server {
listen 80;
server_name old1.com;
return 301 http://newdomain.com$request_uri;
}
- 在主配置中添加:
include /etc/nginx/redirects/*.conf;
三、检查配置并重载
执行语法检查:
nginx -t
若显示
syntax is ok,则重载Nginx:
systemctl reload nginx # 或 service nginx reload
四、验证跳转效果
使用curl命令测试,检查HTTP状态码是否为301:
curl -I http://old1.com/test
预期输出包含
HTTP/1.1 301 Moved Permanently 及目标Location头部。也可通过浏览器开发者工具或在线重定向检查工具验证。
五、注意事项
- 301跳转是永久重定向,部署前务必确认映射规则无误。
- HTTPS环境下需额外处理SSL证书,可在server块中添加listen 443 ssl并配置证书。
- 批量配置后建议监控网站访问日志,排查异常跳转。