如何通过.htaccess将全站非www/http请求301重定向到www/https解决重复内容问题
解决方案
替换你现有.htaccess中最顶部的HTTPS和www跳转规则为以下内容,保证这条规则的优先级高于所有其他重写规则:
# 全站强制跳转到带www的HTTPS版本 RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\.替换为你的实际域名\.co\.uk$ [NC] RewriteRule ^(.*)$ https://www.替换为你的实际域名.co.uk/$1 [R=301,L,NE]
配置验证要点
- 将规则中的占位文本替换为站点真实域名,不要保留示例中的
xxx.co.uk占位符 - 测试前清空浏览器缓存,或使用无痕模式、
curl命令直接测试,301永久重定向会被浏览器本地缓存,旧缓存会导致配置修改后无法立即看到效果 - Let's Encrypt证书不影响重定向配置,只要你申请的证书同时覆盖根域名和www子域名即可正常使用
- 现有配置中的其他路径重写、缓存规则、安全限制规则不需要修改,只需调整跳转规则位置即可实现所有子页面、目录的全局重定向,解决重复内容问题
内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

