HTTP 与 HTTPS 双版本归一后百度权重传递_景安虚拟主机301配置与验证
虚拟主机没有服务器 root 权限,HTTP 与 HTTPS 双版本归一 只能靠目录级配置文件完成。Apache 主机把规则写进 .htaccess,IIS 主机把规则写进 web.config,两者语法不同但目标一致,返回码必须是 301,不能用 302 或 meta refresh。
.htaccess 做 HTTP 与 HTTPS 双版本归一,带 www 到不带 www 写 RewriteCond %{HTTP_HOST} ^www.域名.com$ [NC],RewriteRule ^(.*)$ http://域名.com/$1 [R=301,L]。旧域名到新域名把条件换成 %{HTTP_HOST} ^旧域名.com$ [NC],目标换成新域名。HTTP 到 HTTPS 加 RewriteCond %{SERVER_PORT} !^443$。
配置参考(.htaccess HTTP 跳 HTTPS): ``` RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://域名.com/$1 [R=301,L] ```
HTTPS 迁移场景,HTTP 与 HTTPS 双版本归一 要同时处理协议与首选域。Apache 里先判断 SERVER_PORT 不是 443 就跳 HTTPS,再判断 HTTP_HOST 带 www 就跳主域名,两条规则顺序不能反。IIS 里两个 condition 用 logicalGrouping="MatchAll",一次匹配同时满足协议与域名,action 直接跳到 https://主域名/{R:1}。
规则维护建议集中在一个文件,Apache 把所有 301 写在 .htaccess 顶部,IIS 写在 web.config 的 rules 顶部并加 stopProcessing="true"。定期清理过期规则,单文件规则超过 200 条会影响每次请求的匹配性能,可以把批量规则合并成一条正则。
HTTPS 站点的 301 要注意证书覆盖范围。带 www 与不带 www 都要在证书的 SAN 列表里,否则跳转到的域名证书不匹配,浏览器报不安全。多域名 301 同理,每个目标域名都要有有效证书,跳转链路上任何一个域名证书失效都会影响用户和蜘蛛抓取。

更新时间:2026-08-27 12:05:01
上一篇:网站被360浏览器拦截提示危险网站的申诉与解除方法_网站安全运维实战指南