为什么我的WordPress网站会重定向到错误的网址?

时间:2015-02-05 14:17:33

标签: php mysql wordpress

我正在运行Apache 2.2服务器上的Wordpress 4.1实例。我的所有wordpress文件都在/var/www/html/wordpress目录中,因此我可以在http://www.myurl.com/wordpress访问它们。

Wordpress还连接到不同服务器上的远程数据库。我的wp-config.php文件包含以下内容:

define('DB_NAME', 'my_db_name');
define('DB_USER', 'my_db_user');
define('DB_PASSWORD', 'my_db_password');
define('DB_HOST', 'db.dbhost.com');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

大多数网站都运行良好,但如果我查看一些分页数据(例如,用户表),那么当我点击进入下一页时,它会使用DB_HOST而不是我的网站URL创建链接。

例如,尝试访问第二页用户会创建网址http://db.dbhost.com/wordpress/wp-admin/users.php?paged=2而不是http://myurl.com/wordpress/wp-admin/users.php?paged=2。如果我手动输入第二个链接,页面将按预期显示。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您可以通过将此选项添加到wp-config.php

来覆盖选项表中设置的值
define('WP_HOME','http://www.example.com/wordpress');
define('WP_SITEURL','http://www.example.com/wordpress');

我更喜欢这样做我的项目,因为我可以为开发,登台和生产环境设置不同的值,而不必弄乱数据库。

答案 1 :(得分:0)

我找到了答案。问题是我的代理,解决方案是将以下内容添加到我的wp-config.php文件中:

$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
$_SERVER['REQUEST_URI'] = str_replace("wordpress", "home",
$_SERVER['REQUEST_URI']);

此处找到解决方案:https://wordpress.org/support/topic/wordpress-behind-reverse-proxy-1