我一直都是使用自己搭建的 WordPress 站点来写博客,根据不同的需求用子域名的方式建立了几个子站点。不过前段时间有一个子站点无法加载模板,不管是新的模板、旧的模板、刚生效的模板,选择任何一个模板后主页永远是模板加载失败的无格式样式,在该子站点的控制面板里同样也无法看到该模板的预览画面,如下图所示:

WordPress no theme loaded

这个问题的原因我找了很久,甚至把官方网站的文档都找了一遍,突然今天才恍然大悟。要解释这个原因,估计得从头说起了。

  1. 我在 Bluehost 上买了一个域名和空间,假设这个域名名叫 http://test.com 及其子域名来访问服务器的资源。
  2. 然后我用 WordPress 搭建了一个多博客系统,并且用不同的子域名来指向不同的博客,比如说 http://a.test.comhttp://b.test.com 分别指向不同的博客子站点,针对不同的主题。这个设置很简单,只需要在 WordPress 总管理员那里设置即可。
  3. 在子站点的控制面板 http://a.test.com/wp-admin 里,绑定一个正式的域名 http://testA.comhttp://a.test.com,这样用户就通过 http://testA.com 来访问我的子站点,对于用户来说,这个子站点看起来像是一个完整独立的网站。
  4. 平时都是使用 http://testA.com 这个域名来进行博客服务访问的,基本上忘记了 http://a.test.com 这个子域名的存在。某一天,我突然心血来潮,想在 test.com 的子域名下建立一个新的站点脚本来测试一下,结果就选择了把 a.test.com 这个子域名指向了 bluehost 服务器上的新目录,并且在这里安装了新的服务来进行测试。
  5. 于是,出现了在 http://a.test.com 子站点里的控制面板里,无法正确加载模板的问题了。 看来,不管 WordPress 是否绑定了新域名,WordPress 最终还是用最原始的域名来进行资源定位的

要解决这个问题很简单,只需要把 a.test.com 重新指向正确的服务器路径即可。原因很简单,只是被坑了好久!