WordPress多站点迁移至AWS Lightsail后页面空白问题排查咨询
WordPress多站点迁移后空白页的排查步骤
我帮你梳理一下多站点迁移后出现空白页可能遗漏的关键步骤,这些都是处理类似迁移问题时常见的疏漏点:
检查文件权限配置
AWS Lightsail的服务器权限管控比较严格,WordPress运行需要正确的文件/文件夹权限:- 文件夹权限建议设置为
755,文件权限设置为644 - 确保网站文件的所有者是服务器的web服务用户(比如Apache的
www-data,Nginx的nginx),可以用命令修改:chown -R www-data:www-data /var/www/html # 根据你的web服务用户调整
- 文件夹权限建议设置为
多站点专属的数据库修改
单站点只改wp_options表,但多站点要检查更多数据库表:wp_sitemeta表中的siteurl和home字段必须更新为新服务器的域名- 每个子站点对应的
wp_{站点ID}_options表(比如wp_2_options)里的siteurl和home也需要批量修改 - 如果是子域名模式的多站点,还要确认
wp_blogs表中的domain字段全部更新为新域名
核对wp-config.php的多站点配置
确保旧服务器的多站点配置代码完整复制到新服务器的wp-config.php中,关键配置项包括:define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); // 子域名模式设为true,子目录模式设为false define('DOMAIN_CURRENT_SITE', '你的新域名'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);注意
DOMAIN_CURRENT_SITE必须和新服务器的域名完全一致。验证.htaccess(或Nginx规则)
多站点的URL重写规则和单站点差异很大:- 如果用Apache服务器:把旧服务器的
.htaccess完整替换到新服务器根目录,同时确保虚拟主机配置中开启了AllowOverride All,让.htaccess生效 - 如果用Nginx服务器:需要在Nginx配置文件中添加多站点对应的rewrite规则,比如子目录模式的规则:
rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ permanent; rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 last; rewrite ^/([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 last; rewrite . /index.php last;
- 如果用Apache服务器:把旧服务器的
开启调试模式定位具体错误
空白页大多是PHP错误导致的,开启WordPress调试模式可以看到具体问题:
在wp-config.php中添加以下代码:define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);然后访问空白页后,查看
wp-content/debug.log文件,里面会记录具体的错误信息(比如插件冲突、文件缺失、数据库连接失败等)。检查数据库连接信息
确认wp-config.php中的数据库配置项是否和新服务器的数据库匹配:define('DB_NAME', '新数据库名'); define('DB_USER', '新数据库用户名'); define('DB_PASSWORD', '新数据库密码'); define('DB_HOST', 'localhost'); // 如果是RDS则填RDS端点同时要确保数据库用户拥有该数据库的全部操作权限。
清除所有缓存
- 如果旧站点使用了缓存插件(比如WP Rocket、W3 Total Cache),迁移后要删除缓存插件生成的缓存文件(比如
wp-content/cache目录) - 清除浏览器缓存或用无痕模式访问
- 如果配置了Cloudflare等CDN,也要清空CDN缓存
- 如果旧站点使用了缓存插件(比如WP Rocket、W3 Total Cache),迁移后要删除缓存插件生成的缓存文件(比如
内容的提问来源于stack exchange,提问作者Surbhi Gupta
相关产品推荐
相关产品推荐

