温馨提示×

debian nginx怎样做跳转

小樊
55
2026-09-15 17:20:23
栏目: 智能运维

在 Debian 上使用 Nginx 做跳转(重定向),常见场景和配置如下。


一、准备工作

  1. 安装 Nginx(如未安装)
sudo apt update
sudo apt install nginx
  1. 网站配置文件位置
  • 主配置:/etc/nginx/nginx.conf
  • 站点配置:/etc/nginx/sites-available/
  • 启用站点:/etc/nginx/sites-enabled/

示例配置文件:

sudo nano /etc/nginx/sites-available/example.com

二、常见跳转方式

1️⃣ 域名跳转(301 永久重定向)

例如:把 old.com 跳转到 new.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://$host$request_uri;
}

3️⃣ 不带 www 跳转到带 www

server {
    listen 80;
    server_name example.com;

    return 301 http://www.example.com$request_uri;
}

4️⃣ 带 www 跳转到不带 www

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

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

5️⃣ 特定路径跳转

location = /old-page {
    return 301 /new-page;
}

或

location /old/ {
    return 301 /new/;
}

6️⃣ 整个站点跳转(临时 302)

server {
    listen 80;
    server_name example.com;

    return 302 https://other.com;
}

三、HTTPS + 跳转完整示例

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate /etc/ssl/certs/example.com.crt;
    ssl_certificate_key /etc/ssl/private/example.com.key;

    location / {
        root /var/www/html;
        index index.html;
    }
}

四、应用配置

sudo nginx -t      # 检查配置
sudo systemctl reload nginx

五、常见注意点

  • ✅ 优先使用 return 301 / return 302(比 rewrite 更高效)
  • ✅ 301 会被浏览器缓存,调试时可先用 302
  • ✅ Debian 上记得软链到 sites-enabled:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

如果你有具体跳转需求(比如某个子目录、某个参数、反向代理跳转),可以直接说,我可以给你精确配置。

0 踩