【发布时间】:2013-02-15 00:31:36
【问题描述】:
我正在尝试找到一个 php 代码来创建一个子域并为我的用户的子帐户自动安装一个 cms。这个子域不会只有我正在制作的 cms 的 cpanel。
【问题讨论】:
-
你有没有尝试过?我刚刚做了一个谷歌搜索,发现了多个结果。
-
我看了所有这些,这不是我想要的
标签: php content-management-system subdomain
我正在尝试找到一个 php 代码来创建一个子域并为我的用户的子帐户自动安装一个 cms。这个子域不会只有我正在制作的 cms 的 cpanel。
【问题讨论】:
标签: php content-management-system subdomain
您的问题暴露了您对 DNS 和网络服务器的工作原理缺乏了解。对于汽车的类比,这就像在问“试图让柴油动力汽车通过太阳能进行跨大西洋飞行”。
我会从头开始:
“子域”是作为另一个子域的任何 DNS 标签。在大多数情况下,这是一个三级域(二级域类似于顶级“.com”域的“google.com”,因此可能的子域是“www.google.com”或“something. google.com”)。请记住,“www”本身并没有什么特别之处。标签。
子域标签通常是“A”或“CNAME”记录,将名称(例如“www”或“ftp”)映射到 IP 地址,或“AAAA”记录在IPv6 的情况。
子域存储在 DNS 服务器的“区域文件”中或从动态 DNS 服务器返回。
“网站”是一个完全抽象的虚拟结构,依赖于网络服务器软件。大多数传统的网络服务器(Apache、IIS)将网站定义为一个物理文件系统目录(例如“C:\sites\foobar.com”),它对应于与一个或多个网络绑定相关联的根“/”路径,网络绑定通常是主机 IP 地址(每个网站都有自己的 IP 地址或共享 IP 地址),域名“host-header”(浏览器将请求的 URI 的域名发送到服务器,以便服务器可以区分多个网站绑定到同一个 IP 地址)或 SSL 证书(现在这种情况不太正确,但直到最近,由于技术原因,每个 IP 地址只能有一个受 SSL 保护的网站)。
正如我所说,一个网站可以与多个域名相关联,例如如果您访问“www.google.com”或“google.com”,Google 的网站有何相同之处。同样,一个网络服务器也可以同时托管多个网站,所有网站都具有不同的域名绑定。
最后,PHP 是一种脚本语言和环境,它在 Web 服务器的上下文中运行,用于生成返回给客户端的 HTML。 PHP 可以执行文件系统和数据库 IO 和处理逻辑,但它主要是请求驱动的。 PHP 也可以在命令行环境中用作 Perl 的替代方案。
因此,鉴于我刚刚描述的内容,您所问的内容完全模棱两可。以下是您可能的意思的可能性:
$_SERVER["HTTP_HOST"] 标头?例如处理任何子域请求的笑话网站(例如“yournamehere.loves.me”)。请注意,这仅在您拥有支持通配符的 DNS 服务器时才有效。 BIND 和 Windows 的 DNS 服务器不支持这一点。您的网络服务器还需要支持通配符主机头或将您的网站绑定到 IP 地址。【讨论】: