在 Debian 上做 301 永久重定向,通常取决于你使用的 Web 服务软件。下面以最常见的 Nginx 和 Apache 为例说明。
例如把 old.com 301 到 new.com
编辑站点配置(如 /etc/nginx/sites-available/old.com):
server {
listen 80;
server_name old.com www.old.com;
return 301 https://new.com$request_uri;
}
如果是 HTTPS:
server {
listen 443 ssl;
server_name old.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
return 301 https://new.com$request_uri;
}
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
nginx -t
systemctl reload nginx
a2enmod rewrite
systemctl restart apache2
<VirtualHost *:80>
ServerName old.com
Redirect 301 / https://new.com/
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
Redirect 301 / https://example.com/
</VirtualHost>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old.com$ [NC]
RewriteRule ^(.*)$ https://new.com/$1 [L,R=301]
❌ 不能
DNS(A / CNAME)只能解析 IP,无法实现 301,301 必须由 Web 服务器完成。
curl -I http://old.com
应看到:
HTTP/1.1 301 Moved Permanently
Location: https://new.com/
如果你能告诉我:
我可以给你更精确的配置。