我正在尝试使用以下方案创建,以向注册用户提供自己的子网站到该网站。我不想为每个用户添加DNS记录,但如果用户jon注册,我希望他看到jon.website.com的URL。这似乎可以从我有read up on的其他问题中解决。
然而,我的实施和缺乏理解让我感到高兴。这是我到目前为止所做的。
添加DNS通配符域
的记录*。website.com - >网站的IP。 12.2.3.4
在www.website.com/application/
中将以下代码添加到.htaccess文件中<VirtualHost *:80>
ServerName server.website.com
ServerAlias *.website.com
UseCanonicalName Off
</VirtualHost>
使用PHP查找子域
preg_match('/([^.]+)\.example\.org/', $_SERVER['SERVER_NAME'], $matches);
if(isset($matches[1])) {
$subdomain = $matches[1];
}
我怎么看这个工作是,当用户注册时,创建一个带有子域名的目录,如www.website.com/application/subdomainName/-我可以处理这个没有问题 - 然后成功登录后,用户将被引导至www.website.com/application/jon /
我是朝着正确的方向前进吗?如果是,那么我如何从我所在的地方获得我需要去的地方?这个比我的工资等级高出一点!谢谢你的任何建议!
答案 0 :(得分:1)
您的开始步骤正确并且方向正确。我不明白你为什么要创建目录。
您只需确保您的网站可以在任何域中使用。因此,请确保所有URL和资源链接都使用绝对路径。
我猜你会想要为每个用户定制体验。因此,您需要为每个注册用户存储一些元数据,以便他们的网站具有不同的外观。最简单的方法是将元数据存储在数据库中的子域中。只需查看您的网站正在运行的当前子域,并加载相应的用户以确定该网站的外观。