我的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。
Redefine REST API variables
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配置为在配置中动态使用它。
这并不是一种常见的技术,它带来了相当多的挑战,因为有些案例会持久地存储域(例如在帖子内容中)。
不管怎么做,它是否真的值得,以及具体的站点需要多少修补才能解决问题,都是值得怀疑的。
结束