【发布时间】:2013-02-05 22:54:17
【问题描述】:
我刚刚将一个站点复制到一个新的开发子域以进行一些更改。副本很顺利。我使用了 rsync 并且所有文件都已就位。我转储了数据库内容并加载了它们。
另外我修改了 wp-config.php 使其具有:
define('WP_HOME','http://www.dev.newdomain.tld');
define('WP_SITEURL','http://www.dev.newdomain.tld');
// Just trying to catch any error info:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);
define('SCRIPT_DEBUG', true);
帖子、插件、用户等都在 wp 管理界面上显示得很好,但是 NO 内容显示在前端。
如果我从 wp 管理员修改一篇文章,它会很好地编辑,但是当我尝试查看一篇文章时,我会在浏览器中看到以下内容:
Not Found
The requested URL /path-to-article/ was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
我的 apache error.log 中有以下内容:
[Tue Feb 05 05:50:07 2013] [error] [client xxx.xxx.xxx.xxx] File does not exist: /home/username/dev.domain.tld/path-to-post
[Tue Feb 05 05:50:07 2013] [error] [client xxx.xxx.xxx.xxx] File does not exist: /home/username/dev.domain.tld/missing.html
这部分让我相信这可能是 apache 的 .htaccess 发生的事情,但看起来还不错:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
是的,我已禁用所有插件以查看是否有问题。此外,将主题更改为默认的“Twenty Twelve”也无济于事。
另外,在查看生成的页面源代码时,html 中根本没有内容。
我看到的只是网络浏览器访问日志中对根/站点资源的单一访问,没有伴随其他资源(文件、图像等)
这里可能发生了什么,因为我似乎陷入了僵局,日志中没有任何错误?
【问题讨论】:
-
新服务器是否启用
mod_rewrite.c? -
不是有几个选项 wp_options 表,其中包含可能需要更改的 url?感谢您在 config.php 中设置了 url,但在检查/尝试时仍然没有害处。
-
@DainisAbols 是的,它已启用。
-
@TheCellarRoom 我在发布之前有Search and Replace Tool,但无济于事。我通过将 WP_HOME 和 WP_SITEURL 变量插入配置来检查它。
-
我会尝试再次复制决赛,可能很容易失败,先尝试不使用任何插件,我在考虑可能是缓存插件。