我正在尝试使用以下场景来创建为注册用户提供自己的站点子域。我不想为每个用户添加 DNS 记录,但如果用户 jon 注册我希望他看到 jon.website.com 的 URL。从我读过的其他问题看来,这是可能的。
然而,我的实施和缺乏理解阻碍了我。这是我到目前为止所做的。
为域添加了 DNS 通配符 A 记录
*.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/
我在这方面朝着正确的方向前进吗?如果是,那么我如何从我所在的地方到达我需要去的地方?这个比我的工资等级高很多!感谢您的任何建议!