域名重定向后无法访问WordPress后台管理面板求助
解决WordPress原域名后台被重定向到新域名的问题
问题分析
你当前的.htaccess重定向规则尝试排除wp-admin/路径,但仍出现跳转,核心原因有两点:
- 负向预查的匹配范围过窄,仅排除了
wp-admin/(带斜杠)的情况,未覆盖wp-admin(不带斜杠)、wp-login.php等关键后台入口路径; - WordPress核心设置中的站点URL若已指向新域名,即使
.htaccess允许访问原域名后台,系统内部仍会触发跳转。
可行解决方案
方案1:修正.htaccess重定向规则
将重定向规则移至WordPress默认规则之前(避免被WordPress规则拦截),同时扩大排除范围,覆盖所有后台相关路径:
# Redirect to YYY.com (except wp-admin and related paths) RewriteEngine On RewriteCond %{HTTP_HOST} ^XXX\.com\.au$ [OR] RewriteCond %{HTTP_HOST} ^www\.XXX\.com\.au$ RewriteRule ^(?!wp-admin|wp-login\.php|wp-includes|wp-content/plugins/.*admin)(.*)$ https://YYY.com.au/$1 [R=301,L] # BEGIN WordPress # The directives (lines) between "BEGIN WordPress" and "END WordPress" are # dynamically generated, and should only be modified via WordPress filters. # Any changes to the directives between these markers will be overwritten. <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
- 调整规则顺序:将重定向规则放在WordPress默认规则之前,确保优先处理;
- 扩大排除路径:
^(?!wp-admin|wp-login\.php|wp-includes|wp-content/plugins/.*admin)覆盖了后台入口、登录页、核心后台资源以及插件后台路径,避免后台加载资源时被意外跳转。
方案2:锁定原域名后台的WordPress配置
若修改.htaccess后仍跳转,需临时锁定原域名的站点URL,避免WordPress内部跳转:
在wp-config.php文件中(放在/* That's all, stop editing! Happy publishing. */之前)添加以下代码:
define('WP_HOME', 'https://www.XXX.com.au'); define('WP_SITEURL', 'https://www.XXX.com.au');
完成后台操作后,可根据需求移除这段代码。
方案3:清除浏览器缓存
301重定向属于永久重定向,浏览器会缓存规则。修改.htaccess后,需清除浏览器缓存或使用隐私窗口测试,避免缓存导致新规则不生效。
内容的提问来源于stack exchange,提问作者Brend 13_13
相关产品推荐
相关产品推荐

