在 Debian 上做 301 永久重定向(域名跳转),通常是在 Web 服务器 上配置,而不是在系统层面。最常见的是 Nginx 或 Apache。下面分别说明。
例如:
http://old.com → http://new.com
编辑站点配置(如 /etc/nginx/sites-available/old.com):
server {
listen 80;
server_name old.com www.old.com;
return 301 http://new.com$request_uri;
}
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
return 301 https://example.com$request_uri;
}
nginx -t
systemctl reload nginx
a2enmod rewrite
systemctl restart apache2
在虚拟主机或 .htaccess 中:
<VirtualHost *:80>
ServerName old.com
Redirect 301 / http://new.com/
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
Redirect 301 / https://example.com/
</VirtualHost>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old\.com$ [NC]
RewriteRule ^(.*)$ http://new.com/$1 [R=301,L]
❌ 不能
DNS(A / CNAME)只能做解析,无法实现 301,必须靠 Web 服务器。
curl -I http://old.com
应看到:
HTTP/1.1 301 Moved Permanently
Location: http://new.com/
如果你能告诉我:
我可以给你精确配置文件。