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