如何创建通配符子域

时间:2014-10-04 10:03:46

标签: php .htaccess joomla wildcard-subdomain

我使用的是joomla 3.3,我有一个网站,用户可以使用域名创建自己的商店,这样我怎样才能创建用户可以访问其子域的子域。

假设用户创建了abc.example.com,那么该用户应该能够访问abs.example.com

那么怎么做呢。 我已将这些行添加到.htaccess文件

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.zzphonecase\.com(.*)$ /index.php/%2/%1

和模板的index.php文件中的这些行

$host = explode ('.', $_SERVER ['HTTP_HOST']);
$subdomain = $host [0];

if((!strcasecmp ($subdomain, 'www')) || (!strcasecmp ($subdomain, 'zzphonecase')))
{
//main site enter code here
}
else
{
//enter code here   
// subdomain

http_response_code (404);
echo 'Error 404 : your domain could not be found';
return false;
}

1 个答案:

答案 0 :(得分:0)

问题是您何时何地加载域重定向。你在模板层加载它......在这个过程中太晚了。它必须在加载joomla框架之前加载(根index.php。我使用“虚拟域”进行多站点域管理,并在我的站点上广泛使用fabrik用于自定义表单和组件。您可以在fabrik中创建表单为虚拟域数据库表添加和输入参数。关于如何执行它的一点学习曲线,但是一旦你得到它,这将使你很简单。然后你可以设置你的通配域并指向它到站点根目录,让虚拟域组件为你完成所有工作。认真地...... joomla中的多站点管理是一个真正的痛苦。其他人已经为你完成了工作!