我正在构建一个应用程序,我将实际应用程序驻留在newapp.my-domain.com中,我还有其他几个子域,如webmail,订阅者等。这是一个基于订阅的应用程序&我想给订阅者个别子域名。所以xyz订阅者将拥有xyz.my-domain.com abc将拥有abc.my-domain.com,所有这些实际上将为应用程序newapp.my-domain.com提供服务。
目标是通过子域获取它们,然后我可以从$ _SERVER ['SERVER_NAME']中提取订阅者(abc或xyz),并可以验证该订阅者中的用户名。
我无法访问vhost.conf,因此解决方案需要从.htaccess完成。我已经创建了* .my-domain.com来指向cpanel中的/ public_html文件夹。
答案 0 :(得分:2)
我找到了解决方案。它实际上非常简单。在AppController beforeFilter中我添加了以下代码来获取子域:
preg_match('/^(?:www\.)?(?:(.+)\.)?(.+\..+)$/i', env('HTTP_HOST'), $matches);
$subdomain = empty($matches[1])? '' : $matches[1];