在 Debian 上做“域名跳转”通常分几种场景,下面按最常见需求给你说明,基本都基于 Web 服务器(Nginx / Apache) 或 DNS。
server {
listen 80;
server_name old.com www.old.com;
return 301 https://new.com$request_uri;
}
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name old.com;
ssl_certificate /path/fullchain.pem;
ssl_certificate_key /path/privkey.pem;
return 301 https://new.com$request_uri;
}
修改后:
nginx -t
systemctl reload nginx
a2enmod rewrite
<VirtualHost *:80>
ServerName old.com
Redirect 301 / https://new.com/
</VirtualHost>
或:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old.com$ [NC]
RewriteRule ^(.*)$ https://new.com/$1 [L,R=301]
如果你只是想:
old.com → new.com可以用 CNAME(仅子域名):
www.old.com. CNAME new.com.
⚠️ 注意:
仅本机跳转测试:
nano /etc/hosts
127.0.0.1 old.com
❌ 只改 DNS 却期望 301
❌ Nginx 没 reload
❌ 多个 server_name 冲突
❌ 循环跳转
为了更精准帮你,可以补充:
我可以直接给你完整配置文件。