用户注册时创建子域

reb*_*ion 5 php apache virtualhost

我有一个网站,我希望用户注册以获得自己的子域名.此子域是虚拟的,每个子域使用相同的Web服务器文件.

我使用PHP和Apache,我知道虚拟主机,但我想知道我需要把vhosts代码放在哪里.首先,我无法访问httpd.conf.其次,我希望在注册时自动完成.

我读过有关虚拟主机的内容,但没有找到任何可以解答我问题的内容.有没有人可以解释我这一切是如何协同工作的,或者知道我在哪里可以找到答案?

jlb*_*jlb 7

你能告诉apache读取额外的.conf文件吗?(传统上你将你的虚拟主机存储在httpd-vhosts.conf中)

如果是这样,请添加以下内容并重新启动您的网络服务器

NameVirtualHost *:80

<VirtualHost *:80>
        DocumentRoot /abs/path/to/webroot
        ServerName   domainname.com
        ServerAlias *.domainname.com
        <Directory /abs/path/to/webroot>
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

然后在php中,您可以通过检查来查看用户请求的子域:

$_SERVER['HTTP_HOST']
Run Code Online (Sandbox Code Playgroud)

即.如果用户请求http://user1.domainname.com/index.php

$ _SERVER ['HTTP_HOST']将拥有user1.domainname.com

然后你可以爆炸('.',$ _SERVER ['HTTP_HOST'])来检查每个段..等等.