动态子域与PHP .htaccess在共享主机


Dynamic Subdomain with PHP .htaccess in shared hosting

我正在构建一个应用程序,其中我的实际应用程序驻留在 newapp.my-domain.com 中,我还有其他几个子系统,如网络邮件、订阅者等。这是一个基于订阅的应用程序,我想给订阅者单独的子域。因此,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 文件夹。

我已经找到了解决方案。 这其实很简单。 在AppController beforeFilter中,我添加了以下代码来获取子域:

preg_match('/^(?:www'.)?(?:(.+)'.)?(.+'..+)$/i', env('HTTP_HOST'), $matches);
$subdomain = empty($matches[1])? '' : $matches[1];