浏览站点时保留的两个(或更多)并行(子)TLD/动态设置站点地址?

时间:2013-04-21 作者:Johannes Pille

我正在为该领域下的一家德国非政府组织运营一个网站sub.example.org.
最近,我补充道sub.example.ch 瑞士分拆。

两个(子)域都指向相同的物理位置,即一个WP安装(不是多站点)。

我将其设置为sub.example.ch/register, 例如,将正确显示在下找到的内容sub.example.org/register.

然而,当瑞士访问者使用常规的网站链接浏览网站时,他或她将不可避免地进入“常规”域,因为那些人使用常规设置中定义的“WordPress地址”(或“网站地址”),通过get_home_urlget_site_url() (或其深度较低get_bloginfo() 等价物)。

理想情况下,我希望访问者在他或她用来访问站点的域下继续浏览。因此,我想我必须以某种方式过滤上述函数的返回值。一个过滤器,据我所知,它并不存在。

有没有人有这方面的经验,有没有合适的解决方案?

这是不是一个愚蠢的想法,我应该先让它过去?

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

您可以筛选主机的选项请求。

在您的wp-config.php 线下线…

require_once ABSPATH . \'wp-settings.php\';
…添加以下行:

add_filter( \'pre_option_home\', \'set_current_host\' );
add_filter( \'pre_option_siteurl\', \'set_current_host\' );

function set_current_host()
{
    return \'http://\' . $_SERVER[\'HTTP_HOST\'];
}
add_filter() 之前不可用,您应该在wp-config.php. 我不知道是否有副作用或不起作用的情况。不应该发生,但要彻底测试。

结束

相关推荐