如何让PHP为每个用户自动创建子域?
如何创建子域?我必须以某种方式访问吗?实际上,是否可以简单地通过纯PHP代码创建它,或者我需要使用一些外部脚本服务器端语言?http://user.mywebsite.example
.htaccess
对于那些回答的人:那么,我应该问我的主机是否提供某种DNS访问吗?
如何创建子域?我必须以某种方式访问吗?实际上,是否可以简单地通过纯PHP代码创建它,或者我需要使用一些外部脚本服务器端语言?http://user.mywebsite.example
.htaccess
对于那些回答的人:那么,我应该问我的主机是否提供某种DNS访问吗?
您希望创建自定义 A 记录。
我很确定在指定A记录时可以使用通配符,这将允许您执行如下操作:
*.mywebsite.example IN A 127.0.0.1
127.0.0.1
将是您的 Web 服务器的 IP 地址。实际添加记录的方法将取决于您的主机。
如果它是一种选择,那么像这样做会更容易设置。http://mywebsite.example/user
然后,您可以添加一个如下所示的文件:.htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([aA-zZ])$ dostuff.php?username=$1
在上面,用户名仅限于字符a-z
用于抓取子域的重写规则如下所示:
RewriteCond %{HTTP_HOST} ^(^.*)\.mywebsite.example
RewriteRule (.*) dostuff.php?username=%1
但是,您实际上并不需要任何重写规则。HTTP_HOST头文件在PHP中也可用,因此您可以获得它,例如
$username = strtok($_SERVER['HTTP_HOST'], ".");