如何在Ubuntu上为Apache2配置动态子域?

如何在Ubuntu上为Apache2配置动态子域?,apache,ubuntu,dns,subdomain,Apache,Ubuntu,Dns,Subdomain,我需要所有的url mydomain.com、a.mydomain.com、b.mydomain.com、whatever.mydomain.com。。。。 指向同一文档根,子域是动态的。我们可能有数百个 现在我在000-default.conf中有以下几行: <VirtualHost *:80> ServerName mydomain.com ServerAlias *.mydomain.com mydomain.com正在运行,但找不到所有子域。 有人能帮我吗?

我需要所有的url mydomain.com、a.mydomain.com、b.mydomain.com、whatever.mydomain.com。。。。 指向同一文档根,子域是动态的。我们可能有数百个

现在我在000-default.conf中有以下几行:

  <VirtualHost *:80>
   ServerName mydomain.com
   ServerAlias *.mydomain.com
mydomain.com正在运行,但找不到所有子域。 有人能帮我吗?非常感谢

例如:
用户注册一个新帐户,新帐户是obama,url是obama.mydoamin.com。当帐户立即创建时,可以输入子域。

使用Apache虚拟主机可以使用通配符子域

NameVirtualHost *:80

<VirtualHost *:80>
  DocumentRoot /var/www/app1
  ServerName xyz1.example.com
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /var/www/example
  ServerName example.com
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /var/www/wildcard
  ServerName other.example.com
  ServerAlias *.example.com
</VirtualHost>
如果没有获得显式匹配,则第一个条目将成为默认条目。因此,如果您让xyz.otherexample.com指向它,它将被捕获为xyz1.example.com。您需要在第一个条目中打开基于名称的虚拟主机


有关更多详细信息,您还可以参考apache文档

,但子域是动态的。用户创建一个帐户,系统将给用户一个url。例如:新帐户为obama,则url为obama.mydoamin.com。那么如何解决这个问题呢?你也可以参考这个链接,在其中你可以通过mod_vhost_alias.so apache的module.else使用.htaccess文件来管理它。它在你的情况下也会有帮助。这里有一些类似于你的需求的东西解决了这个问题……问题不是来自ubuntu/apache,而是来自DNS,所以我定义了DNS区域文件host=*,点=ip