如何使用.htaccess将https://www.example.com重定向至https://example.com,规避SEO问题与多页面重定向
从www到非www的HTTPS永久重定向(解决多页面重定向+保护SEO)
别担心,我给你一套完全适配需求的.htaccess方案——既能解决PageSpeed的多页面重定向警告,又能完整保护你积累的PageRank,完全符合SEO最佳实践。
核心原则先明确:必须用301永久重定向,这是搜索引擎认可的权重传递方式,能把原www页面的所有排名权重无缝转移到非www页面,绝对是保护SEO的正确选择。
下面是最优的.htaccess规则,覆盖所有访问场景,彻底避免多重跳转:
# 开启URL重写模块 RewriteEngine On # 处理HTTPS的www请求:直接跳转到HTTPS非www RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] RewriteCond %{HTTPS} on RewriteRule ^(.*)$ https://example.com/$1 [R=301,L] # 处理HTTP的www请求:直接跳转到HTTPS非www(避免先转HTTPS再转非www的双重跳转) RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
为什么这段代码是最佳选择?
- 彻底消除多重重定向:不管用户访问的是
http://www.example.com还是https://www.example.com,都会直接跳转到https://example.com,不会出现“HTTP→HTTPS www→HTTPS非www”这种两次跳转的情况,完美解决PageSpeed的警告。 - 301永久重定向:
[R=301]明确告诉搜索引擎这个重定向是永久的,会完整传递原页面的PageRank,完全不影响你积累的排名权重。 - 全场景覆盖:
[NC]表示忽略大小写(比如WWW.Example.Com这种特殊输入也会被匹配),覆盖所有可能的www域名访问形式。 - 避免规则冲突:
[L]表示这是最后执行的规则,执行完就停止,不会被后续的其他Rewrite规则(比如WordPress的规则)干扰。
关键操作注意事项
- 把规则放在.htaccess最顶部:一定要确保这段重定向规则在其他系统的Rewrite规则(比如博客、电商平台的内置规则)之前执行,否则可能被其他规则干扰导致多重跳转。
- 替换域名:把代码里的
example.com替换成你自己的域名,注意www\.example\.com里的反斜杠不能丢,是用来转义域名里的点的。 - 测试验证:设置完成后,用浏览器开发者工具(Network面板)检查:
- 访问
http://www.yourdomain.com,应该直接跳转到https://yourdomain.com - 访问
https://www.yourdomain.com,也应该直接跳转到https://yourdomain.com - 确保跳转次数只有1次,没有中间跳转
- 访问
- 确认服务器环境:这套规则适用于Apache服务器(默认支持mod_rewrite),如果你的主机是Nginx,.htaccess不生效,需要用Nginx配置文件实现(不过你问的是.htaccess,应该是Apache环境)。
额外SEO保护措施
- 登录Google Search Console,设置你的首选域名为非www版本,明确告诉搜索引擎你希望展示的域名形式。
- 检查网站内部链接、图片链接等,尽量统一使用非www的链接,避免内部出现www的链接导致不必要的跳转。
内容的提问来源于stack exchange,提问作者CroDexter
相关产品推荐
相关产品推荐

