在 Nginx 中,可以通过server块配合return指令实现基于域名的跳转配置。下面提供一个简单示例,演示如何根据用户请求的域名,将访问者 301 重定向到不同的目标页面或新域名。

打开 Nginx 配置文件。常见路径包括
/etc/nginx/nginx.conf,或者/etc/nginx/sites-a vailable/目录中的某个站点配置文件。在
http块中,添加多个server块,每个server块分别对应需要处理的域名。示例如下:
http {
# ...
server {
listen 80;
server_name example.com www.example.com;
return 301 https://newexample.com$request_uri;
}
server {
listen 80;
server_name anotherdomain.com www.anotherdomain.com;
return 301 https://newdomain.com$request_uri;
}
# ...
}在这个配置示例中,我们为两个不同的域名example.com和anotherdomain.com设置了独立的跳转规则。当用户访问这两个域名中的任意一个时,Nginx 会自动将请求重定向到新的域名,分别是newexample.com和newdomain.com。同时,原始请求的 URI 参数也会一并保留,这对于网站改版、域名更换和 SEO 权重传递都很有帮助。
保存配置修改并退出编辑器。
为了让新的 Nginx 域名跳转配置立即生效,在命令行中执行以下命令:
sudo nginx -t # 检查配置文件语法是否正确
sudo nginx -s reload # 重新加载配置文件完成以上操作后,当用户访问example.com或anotherdomain.com时,系统就会自动跳转到newexample.com或newdomain.com,从而实现基于域名的 Nginx 重定向。
