我在推特上提出了这个问题,并询问了其他一些核心开发人员的反馈。我的直觉是$current_url
可过滤或由可重写的函数生成。显然,这是错误的。
@markoheijnen:
@埃里克曼重置$_SERVER[\'HTTP_HOST\']
听起来像是一个黑客的解决方案。同样的代码可以在wp配置中。php
@nacin:
@EricMann@markoheijnen将其置于wp配置中是正确的。处理反向代理情况不是WP的工作。
@EricMann@markoheijnen理想情况下,应该在加载WP(甚至PHP)之前正确设置它们。可选择wp config。
@markoheijnen:
@nacin@ericmann在这种情况下,服务器/代理配置错误。所以我可以理解为什么它应该在wp config中修复
从这种对流的声音来看,您有两种选择:
在事情发展到PHP/WP之前,重新配置代理以设置正确的主机值手动清理和设置$_SERVER[\'HTTP_HOST\']
在您的wp-config.php
文件
我想得更多,这里有一些实际的代码可以添加到
wp-config.php
要进行设置(基于更改核心文件的黑客补丁):
if ( ! empty( $_SERVER[\'HTTP_X_FORWARDED_HOST\'] ) ) {
$_SERVER[\'HTTP_HOST\'] = $_SERVER[\'HTTP_X_FORWARDED_HOST\'];
}
这应该设置为默认核心文件不需要任何修改即可正常运行。但是请注意,我不能测试这个,因为我没有任何类型的代理设置来验证它。。。因此,如果此代码无法解决您的问题,请返回报告,我们可以尝试其他方法。