将WordPress站点从oldstuff.com迁移至maindomain.com/oldstuff遇阻
WordPress子目录迁移故障排查与修复步骤
你当前的操作存在关键错误和遗漏步骤,以下是具体修正方案:
一、修正SQL替换命令的错误
你执行的命令1存在逻辑错误:WHERE option_name = 'home' OR option_name = 'maindomain.com/oldstuff'中的第二个条件完全错误,WordPress的站点地址配置项是siteurl而非目标域名。正确的命令1应为:
UPDATE wp_options SET option_value = replace(option_value, 'oldstuff.com', 'maindomain.com/oldstuff') WHERE option_name = 'home' OR option_name = 'siteurl';
同时,你遗漏了对文章GUID字段的替换,需要补充执行:
UPDATE wp_posts SET guid = REPLACE(guid, 'oldstuff.com', 'maindomain.com/oldstuff');
(注意:如果你的WordPress使用了自定义表前缀,需将wp_替换为实际前缀)
二、补充遗漏的关键步骤
修正子目录下的wp-config.php
打开maindomain.com/oldstuff目录下的wp-config.php,确认以下数据库配置项与原oldstuff.com的数据库信息完全一致:DB_NAME(原oldstuff的数据库名)DB_USER(原数据库用户名)DB_PASSWORD(原数据库密码)DB_HOST(通常为localhost)
同时确保$table_prefix与原站点一致,避免表名匹配错误。
调整子目录的.htaccess规则
替换maindomain.com/oldstuff下的.htaccess内容为适配子目录的规则:RewriteEngine On RewriteBase /oldstuff/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /oldstuff/index.php [L]重置固定链接设置
若能登录maindomain.com/oldstuff/wp-admin后台,进入「设置-固定链接」页面,无需修改任何选项,直接点击「保存更改」,让WordPress重新生成适配子目录的链接规则。清理缓存
- 若原站点使用了缓存插件,需先在后台清空缓存(或直接删除缓存目录文件)
- 清空浏览器缓存,避免旧地址缓存导致访问异常
检查文件权限
确保maindomain.com/oldstuff目录及所有文件的权限符合主机要求(通常目录权限为755,文件为644),避免因权限问题导致无法读取文件。
内容的提问来源于stack exchange,提问作者Amanda
相关产品推荐
相关产品推荐

