WordPress站点带www域名重定向异常解决及统一域名配置
目前misitoweb.es域名通过https://misitoweb.es或直接输入域名均可正常访问,但访问http://www.misitoweb.es时,浏览器提示“此页面无法正常工作,www.misitoweb.es已将您重定向过多次数”,无法打开站点。
需求:
- 实现带www格式的域名可正常跳转至站点;
- 将所有域名访问格式统一重定向至
https://mysiteweb.es。
当前WordPress站点设置的URL为https://mysiteweb.es,已尝试在项目的.htaccess文件中添加以下重定向代码,但未生效:
# Redirect to the version without "www" RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.mywebsite\.es [NC] RewriteRule ^(.*)$ https://mysiteweb.es/$1 [L,R=301]
1. 修正.htaccess核心错误并替换完整规则
你当前的规则存在域名拼写错误(把www.misitoweb.es写成了www.mywebsite.es),这是规则失效的直接原因。同时要覆盖HTTP转HTTPS、带www转不带www的所有场景,替换成以下完整规则:
# 开启重写引擎 RewriteEngine On # 统一所有访问到https://mysiteweb.es RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\.misitoweb\.es [NC] RewriteRule ^(.*)$ https://mysiteweb.es/$1 [L,R=301,NE] # WordPress默认重写规则(必须保留,请勿删除) RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
注意:将自定义重写规则放在WordPress默认规则之前,避免被WP规则覆盖;
NE标记用于防止URL特殊字符被转义,保证跳转后地址正常。
2. 确认WordPress后台设置
登录WP后台,进入「设置」→「常规」,确保:
- WordPress地址(URL)和站点地址(URL)均设置为
https://mysiteweb.es - 不要保留任何带www或HTTP格式的地址,避免和
.htaccess规则冲突引发循环重定向
3. 检查DNS解析配置
确保www.misitoweb.es的A/CNAME记录指向与misitoweb.es相同的服务器IP,若DNS解析错误,请求无法到达服务器,会直接触发浏览器重定向报错。
4. 清除浏览器缓存
之前的循环重定向记录会被浏览器缓存,修改规则后需清除浏览器缓存与Cookie,或使用无痕模式测试,避免旧缓存影响结果。
5. 验证重定向有效性
可通过命令行工具(如curl -I http://www.misitoweb.es)查看响应头,确认返回301 Moved Permanently,且Location字段指向https://mysiteweb.es。
内容的提问来源于stack exchange,提问作者Diana

