我想为我的网络应用提供子域名,如下所示:
我该怎么做呢?我是否需要为每家公司设置虚拟主机?
或者我可以像以下一样进行捕捉:
这里的典型方法是什么?
我对如何显示正确内容的想法是,我将获取URL的前缀部分,检查数据库中该公司的ID,然后只需使用该ID来恢复正确的内容...... < / p>
问题在于我不确定如何在PHP和Apache中以编程方式创建子域名
。我正在使用Windows(所以本地我将编辑Windows主机文件)
答案 0 :(得分:1)
首先,您需要在dns服务器中定义通配符规则。
例如在bind(linux等)中,我喜欢这样:
somedomain.com. IN A 111.222.222.222
*.somedomain. IN A 111.222.222.222
然后在virtualhost文件中添加:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName somedomain.com
ServerAlias *.somedomain.com
DocumentRoot /var/www/public
</VirtualHost>
此示例适用于获取子域并使用其逻辑的一个大型单个应用程序。
所以,如果每个应用都是分开的,那么:
<VirtualHost *:80>
ServerName somedomain.com
ServerAlias *.somedomain.com
VirtualDocumentRoot /var/www/%1/public
</VirtualHost>