WordPress除index.html首页外所有页面白屏故障咨询
WordPress迁移后非首页白屏故障修复步骤
草稿预览可正常访问,说明PHP运行环境、数据库连接、后台核心功能无异常,无需排查基础环境扩展、数据库连通性类问题,按以下优先级排查即可:
优先排查目录索引优先级问题
绝大多数Web服务器(Apache/Nginx)默认配置中,静态文件index.html的解析优先级高于WordPress核心动态入口index.php。你当前能访问的首页完全是静态文件兜底,根本没有走WordPress渲染逻辑。先把根目录下的index.html重命名为index.html.bak测试,如果此时首页也出现白屏,继续往下排查。核对WordPress核心文件完整性与权限
All-in-One Migration导入时如果遇到PHP超时、内存上限不足,很容易出现核心文件漏传、权限异常:- 确认站点根目录存在WordPress原生
index.php文件,内容为官方默认入口代码,未被篡改 - 核对
wp-blog-header.php、wp-load.php两个核心加载文件是否存在,站点文件权限统一设置为:文件644、文件夹755,保证Web服务进程有读取权限 - 不要直接将静态首页文件以
index.html命名放在根目录,需要展示静态首页可以通过WordPress后台「设置-阅读」配置,避免静态文件抢解析优先级。
- 确认站点根目录存在WordPress原生
匹配服务器类型核对重写规则
你之前替换.htaccess的操作仅对Apache环境有效,如果测试服务器用的是Nginx,根本不会读取.htaccess配置:- Apache环境:确认虚拟主机站点配置中开启了
AllowOverride All,保证.htaccess规则能正常生效,使用WordPress官方默认的重写规则即可 - Nginx环境:在站点配置文件中补上WordPress官方标准重写规则,修改后重载Nginx服务
- 进入WordPress后台「设置-固定链接」,不需要修改原有选项,直接点击「保存更改」,强制刷新系统的固定链接规则缓存。
- Apache环境:确认虚拟主机站点配置中开启了
排查自定义主题的逻辑异常
站点为二次开发的自定义主题,很容易存在迁移触发的逻辑截断问题:- 临时切换到WordPress官方默认主题(如Twenty Twenty-Four),如果切换后所有页面恢复访问,直接定位问题在自定义主题内
- 重点检查自定义主题的
functions.php、各前端模板文件,排查是否存在遗留测试代码,比如针对非预览、非登录状态直接终止输出的逻辑(类似if(!is_preview()) exit;这类代码) - 排查主题文件中是否存在硬编码的原服务器绝对路径引用,比如直接写死
/原服务器站点目录/template-part.php的引入写法,迁移后路径不存在会直接中断输出,如果调试级别不够就会显示完全空白的页面。
补全调试配置捕获隐藏报错
你之前开启WP_DEBUG很可能没有打开前端报错显示,所以看不到致命错误信息。将根目录wp-config.php中的调试配置替换为以下代码,再刷新白屏页面即可看到具体报错:define( 'WP_DEBUG', true ); define( 'WP_DEBUG_DISPLAY', true ); define( 'WP_DEBUG_LOG', true ); @ini_set( 'display_errors', 1 );如果页面仍无报错输出,可以去
wp-content/debug.log文件中查看最新的错误日志,顺着报错位置定位对应代码即可。兜底排查项
- 重启测试服务器的PHP进程(PHP-FPM),清空OPcache、站点缓存,排除缓存残留导致的空输出
- 核对数据库
wp_options表中的siteurl、home字段值,确认和当前测试服务器的访问地址完全一致,没有残留原站域名、多余斜杠,All-in-One Migration偶尔会漏替换序列化数据中的地址配置 - 核对测试服务器PHP版本和原服务器版本一致,自定义主题如果使用了特定PHP版本的语法,版本不兼容也会导致无报错白屏。
内容的提问来源于stack exchange,提问作者Himanshu Khanna
相关产品推荐
相关产品推荐

