一个WordPress安装多个子域具有相同的主题和登录详细信息


One WordPress Installation Multiple Subdomains wtih same theme and login details

每个子论坛都将放在不同的子域上,并使用相同的Wordpress和模板安装。我们可以对所有用户使用相同的帐户/密码子领域/子领域。示例:hotel.domain.com将显示"hotel"sub论坛

用户必须能够在所有子域/子论坛中保持登录状态。

假设你的web服务器配置正确(所有子域都指向同一个DocumentRoot),你需要做两件事来准备WordPress来处理这种安装。

  1. 修改wp-config.php以响应预定义的子域
  2. 修改您的页面/帖子模板,以基于子域显示不同的内容

修改wp-config.php

在wp-config.php中,你需要添加php来告诉WordPress wp_HOME URL是什么。因为这可能是一个安全漏洞,你可能应该将子域限制在一个预定义的列表中。以下是一些示例代码:

switch ( $_SERVER['HTTP_HOST'] ) {
    case 'subdomain.domain.com':
        define( 'WP_HOME', 'http://subdomain.domain.com/' );
        break;
    case 'subdomain2.domain.com':
        define( 'WP_HOME', 'http://subdomain2.domain.com/' );
        break;
    default:
        define( 'WP_HOME', 'http://domain.com/' );
}
define('WP_SITEURL', WP_HOME);

将上面的代码添加到wp-config.php的顶部MySQL设置之前。不要只执行define('WP_HOME', $_SERVER['HTTP_HOST']),因为这将允许用户使用ANY域名访问您的网站。

修改页面/帖子模板

您需要在页面/帖子模板中添加类似的主机嗅探代码,以确定要显示的内容。

注意事项

当用户从一个子域切换到另一个子域时,他们需要登录到每个子域。这可能是因为WordPress发送的用于识别已验证用户的cookie包括域(包括子域)。我怀疑有一个插件可以帮助解决这个问题,但我无法特别推荐一个。

这可能是不可能的,因为每个WordPress网站都有自己的设置。在这些设置中还有永久链接设置。这意味着你只能拥有一个域名。这里有一个有用的链接:http://codex.wordpress.org/Using_Permalinks

嗯。。。我可能离这里很远,但这听起来像是一个WordPress网络,或多站点。。。

http://codex.wordpress.org/Create_A_Network

您甚至可以添加代码,以确保任何自动注册的用户都能被分配到每个站点,这样他们就可以登录到其中的任何一个站点,并在登录时轻松地在站点之间切换…