温馨提示×

debian域名如何做301跳转

小樊
47
2026-09-08 01:58:14
栏目: 云计算

在 Debian 上做 301 永久重定向(域名跳转),通常是在 Web 服务器 上配置,而不是在系统层面。最常见的是 Nginx 或 Apache。下面分别说明。


一、使用 Nginx 做 301 跳转(推荐)

1️⃣ 单域名 → 另一个域名

例如:
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;
}

2️⃣ HTTP → HTTPS(常见)

server {
    listen 80;
    server_name example.com www.example.com;

    return 301 https://example.com$request_uri;
}

3️⃣ 带 HTTPS 的整站跳转

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;
}

4️⃣ 重新加载 Nginx

nginx -t
systemctl reload nginx

二、使用 Apache 做 301 跳转

1️⃣ 启用 rewrite 模块

a2enmod rewrite
systemctl restart apache2

2️⃣ 单域名跳转

在虚拟主机或 .htaccess 中:

<VirtualHost *:80>
    ServerName old.com
    Redirect 301 / http://new.com/
</VirtualHost>

3️⃣ HTTP → HTTPS

<VirtualHost *:80>
    ServerName example.com
    Redirect 301 / https://example.com/
</VirtualHost>

4️⃣ 使用 .htaccess(更灵活)

RewriteEngine On
RewriteCond %{HTTP_HOST} ^old\.com$ [NC]
RewriteRule ^(.*)$ http://new.com/$1 [R=301,L]

三、DNS 能做 301 吗?

❌ 不能
DNS(A / CNAME)只能做解析,无法实现 301,必须靠 Web 服务器。


四、检查是否生效

curl -I http://old.com

应看到:

HTTP/1.1 301 Moved Permanently
Location: http://new.com/

如果你能告诉我:

  • 用的是 Nginx 还是 Apache
  • 是 http→https / 域名换域名 / 带 www 跳转
  • 是否使用 Docker / 面板(如宝塔)

我可以给你精确配置文件。

0 踩