在 Linux 下使用 Nginx 实现重定向,通常是通过修改 Nginx 的配置文件(如 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/*.conf、sites-enabled/*)来完成的。下面按常见场景给你说明。
Nginx 重定向主要有两种方式:
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
}
✅ 访问 example.com/abc → www.example.com/abc
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
return 301 https://www.example.com$request_uri;
}
server {
listen 80;
server_name example.com;
location = /old.html {
return 301 /new.html;
}
}
server {
listen 80;
server_name example.com;
rewrite ^/old/(.*)$ /new/$1 permanent;
}
permanent = 301redirect = 302server {
listen 80;
server_name old.com;
return 301 https://new.com$request_uri;
}
nginx -t
systemctl reload nginx
# 或
nginx -s reload
| 类型 | 含义 | 使用场景 |
|---|---|---|
| 301 | 永久重定向 | SEO、域名变更 |
| 302 | 临时重定向 | 临时维护、A/B 测试 |
curl -I http://example.com
如果你能告诉我:
我可以直接给你一份可用的 Nginx 配置。