Redefine REST API variables

时间:2017-09-25 作者:OBD

我的WP设置有很多问题。主要问题是我需要在//域1上安装WP。xxx/并在//域名2上查看。xxx。仅仅更改wp\\u home和wp\\u site\\u url来实现这一点是不够的。因为我想在domain2上查看站点时删除domain1的所有跟踪,所以我使用相对路径(由一个名为“remove HTTP”的插件提供)。仍然存在的问题是,一些插件仍然使用绝对路径。其中之一是使用WP REST API的联系表单7。我的问题是:我是否可以重新定义REST变量,以便删除domain1并用preferred“/”替换它,或者如果失败,请使用domain2。

2 个回复
最合适的回答,由SO网友:OBD 整理而成

这解决了我的问题:

if ( $_SERVER[\'HTTP_X_FORWARDED_HOST\'] ) {
        $_SERVER[\'SERVER_NAME\'] = $_SERVER[\'HTTP_X_FORWARDED_HOST\'];
}
$_SERVER[\'HTTP_HOST\'] = $_SERVER[\'SERVER_NAME\'];
define(\'WP_HOME\',\'http://\'. $_SERVER[\'SERVER_NAME\']);
define(\'WP_SITEURL\',\'http://\'. $_SERVER[\'SERVER_NAME\']);
我还需要将数据库中的home和siteurl值更改为“/”。

这仅适用于使用设置转发标头的负载平衡器的情况。

SO网友:Rarst

因此,有两个运动部件在工作:

web服务器映射到WP安装的域WP安装认为它安装在正常情况下,这些只是匹配。

在您的情况下,有两个映射到安装的域。

WP一次只能思考一个域一次是这里的重要部分。您可以将WP配置为认为它已安装在域上,并且正在从域访问它。所以,您可以从服务器检测当前请求的域,并将WP配置为在配置中动态使用它。

这并不是一种常见的技术,它带来了相当多的挑战,因为有些案例会持久地存储域(例如在帖子内容中)。

不管怎么做,它是否真的值得,以及具体的站点需要多少修补才能解决问题,都是值得怀疑的。

结束

相关推荐

使用HAPRoxy从MySQL集群运行WordPress

我正在尝试安装wordpress,其中DB将位于MySQL集群(Galera/Percona XtraDB集群)上,并通过HAProxy进行连接。Wordpress安装之外的一切似乎都很好。使用mysql客户端通过用户名和密码连接到数据库就可以了。Wordpress安装与HAProxy位于同一服务器上。在命令行中执行此操作时效果良好:mysql -u wordpress -p<password> -h <haproxy ip> -D wordpress 然而,从insta