共享主机中带有PHP.htaccess的动态子域

共享主机中带有PHP.htaccess的动态子域,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,我正在构建一个应用程序,其中实际的应用程序位于newapp.my-domain.com中,我还有两个其他子组件,如webmail、订阅者等。这是一个基于订阅的应用程序&我希望为订阅者提供单独的子域。因此,xyz订户将拥有xyz.my-domain.com abc将拥有abc.my-domain.com,所有这些实际上都将为应用程序newapp.my-domain.com提供服务 目标是通过子域为它们提供服务器,然后我可以从$\u服务器['SERVER\u NAME']提取订户(abc或xyz),

我正在构建一个应用程序,其中实际的应用程序位于newapp.my-domain.com中,我还有两个其他子组件,如webmail、订阅者等。这是一个基于订阅的应用程序&我希望为订阅者提供单独的子域。因此,xyz订户将拥有xyz.my-domain.com abc将拥有abc.my-domain.com,所有这些实际上都将为应用程序newapp.my-domain.com提供服务

目标是通过子域为它们提供服务器,然后我可以从$\u服务器['SERVER\u NAME']提取订户(abc或xyz),并可以验证该订户中的用户名


我没有访问vhost.conf的权限,因此需要从.htaccess执行解决方案。我已经创建了*.my-domain.com,指向cpanel中的/public\u html文件夹。

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

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

在事后审查期间,我选择了不公开这个问题,因为很清楚(至少对我来说)你在问什么。您所需要做的就是将子域部分重写为一个中心文件,这样可以正确地检测子域和路径的其余部分,并返回所需的页面。嗨,阿耶什,我用PHP解决了这个问题。我在下面添加了解决方案。它可以工作,并且我可以根据我得到的subdmain放置任何逻辑,我发现它非常方便,而不是修改.htaccess。正如我在PHP中所做的那样,它将在IIS、ngnix中工作,其中不需要.htaccess。这是一个很好的答案。