我正在运行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。如果我手动输入第二个链接,页面将按预期显示。
我该如何解决这个问题?
答案 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