在 Nginx 中,实现 URL 请求重定向是一项常见的任务,主要用于域名迁移、SEO 优化以及处理资源的永久移动等场景。以下是使用(域名: qiqicto.com )作为示例的具体重定向配置示例。
1. 永久重定向(301)
假如你需要将 http://www.qiqicto.com 的流量永久导向至 https://qiqicto.com:
server {
listen 80;
server_name www.qiqicto.com;
return 301 https://qiqicto.com$request_uri;
}
# HTTPS 服务器配置
server {
listen 443 ssl;
server_name qiqicto.com;
# SSL 设置...
}
2. 临时重定向(302)
对于暂时性的资源位置改变,可以使用 302 临时重定向:
return 302 http://new.qiqicto.com$request_uri;
3. 错误页重定向
针对特定的 HTTP 错误码,重定向到自定义的错误页面:
error_page 404 /404.html;
location /404.html {
root /var/www/qiqicto.com/;
}
4. 正则表达式的重定向
利用正则表达式处理更复杂的重写规则:
location /old {
rewrite ^/old/(.*)$ /new/$1 permanent;
}
所有以 /old/ 开始的请求都将重定向到 /new/ 开始的新路径。
5. 强制 HTTPS 重定向
让所有 HTTP 请求自动跳转至 HTTPS:
server {
listen 80;
server_name qiqicto.com;
return 301 https://qiqicto.com$request_uri;
}
结论
以上配置可以直接应用于 Nginx 的 server 或 location 块中。每次修改完配置,务必使用 nginx -t 来验证语法正确无误,然后重启 Nginx 使之生效。合理运用这些重定向规则,可以有效管理网站的 URL,确保良好的用户体验和搜索引擎友好度。