目录301重定向到新目录?目录301重定向配置方法,配置详解
这个问题的关键在于区分文件属性和文档元数据,搞清楚了就简单。
301重定向是永久重定向,告诉搜索引擎这个页面已经永久搬到新地址了,权重会传递过去。302是临时重定向,搜索引擎认为原页面还会回来,权重不会传递。做域名迁移、URL结构调整、HTTP转HTTPS这些长期变更,必须用301,用302会导致权重流失、排名下降。
Nginx配置301很简洁。带www跳不带www,在80端口的server块里写if ($host = 'www.域名.com') { return 301 https://域名.com$request_uri; }。HTTP跳HTTPS直接写return 301 https://$host$request_uri。旧域名跳新域名,单独建一个server块监听旧域名,里面return 301 https://新域名.com$request_uri。
Apache用.htaccess配置。开启RewriteEngine On,HTTP跳HTTPS写RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]。带www跳不带www写RewriteCond %{HTTP_HOST} ^www.域名.com$ [NC] RewriteRule ^(.*)$ https://域名.com/$1 [L,R=301]。改完保存不用重启服务,.htaccess实时生效。
配置完用curl -I 检测,执行curl -I http://域名.com,看返回的HTTP状态码是不是301,Location头指向的地址对不对。多检测几个路径,确认带参数的URL也能正确跳转,别只测首页。
避免重定向循环。A跳B、B又跳A就会死循环,浏览器报太多重定向错误。配置完一定要测试完整链路,确保终点是200状态码。还有HTTPS的301要注意证书,跳转目标域名的SSL证书必须有效,否则跳过去报不安全连接,用户体验很差。
核心就是区分文件属性和文档元数据,对症下药。

更新时间:2026-08-27 00:30:57