WordPress网站迁移后仅首页可访问 其他页面404找不到请求页是什么原因?
网站迁移后仅首页可访问、其余页面404的常见原因
- 伪静态/重写规则未正确迁移
大部分依赖URL重写的CMS(如WordPress、Discuz、Drupal等)的非首页路径都需要靠服务端重写规则解析:原主机如果是Apache环境,规则通常写在根目录的.htaccess文件中;如果是Nginx环境,规则写在站点的Nginx配置文件中。迁移时如果没有同步对应规则,或是新主机环境和原环境不一致(比如原用Apache新换Nginx,直接复用.htaccess不生效),就会导致只有首页可以访问,其他路径全部404。 - 站点路径大小写不匹配
如果原主机是Windows/macOS环境,文件系统默认不区分路径大小写,新主机如果是Linux环境,文件系统严格区分大小写。如果页面链接里的路径大小写和服务器上实际目录、文件的大小写不一致,就会返回404。 - CMS固定链接/路由配置未更新
迁移站点后如果没有刷新CMS的固定链接配置,或是站点根目录的部署路径和原环境不一致(比如原站点部署在/blog子目录,新环境直接部署在根目录),会导致CMS的路由解析失效,无法匹配到对应的页面文件。 - 服务端错误页配置冲突
报错中出现的cp_errordocument.shtml是cPanel面板的默认错误页面,说明新主机使用cPanel管理。如果你的站点自定义了错误页规则,或是重写规则和cPanel默认的错误文档配置冲突,会导致原本的请求被错误转发到不存在的错误页路径,触发404。 - 多站点/子目录绑定配置错误
如果原站点是多站点架构,或是有子目录绑定的特殊配置,迁移时没有同步对应的站点映射规则,会导致非首页的路径无法被正确分发到对应的站点目录,返回404。
内容的提问来源于stack exchange,提问作者Developer Maleek
相关产品推荐
相关产品推荐

