我是一个PHP新手,我正在创建一个用户可以注册并可以获得子域名的Web应用程序。我已经完成了注册部分,但我还想做一件我无法弄清楚的事情。 因此,当用户浏览example.domain.com时,如果用户'example'已经注册,那么他应该从domain.com/users/example/获取该页面,但如果未使用用户名,则应写入“此域名尚未注册.blabla“
我怎么能这样做? 提前谢谢,对不起我可怜的英语:)
答案 0 :(得分:3)
这可能就是你要找的东西?
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC]
RewriteRule ^$ /users/%1/ [L]
RewriteRule ^user/([a-zA-Z0-9-_]+)/$ user.php?username=$1 [L]
然后你可以管理php文件中的显示部分,如果没有用户关联则重定向。
您还必须在域的httpd.conf文件中添加通配符注释,以便支持通配符子域:
ServerAlias domain.com www.domain.com
ServerAlias *.domain.com
User.php类似于:
<?
if(mysql_num_rows(mysql_query("SELECT id FROM db WHERE username = 'mysql_real_escape_string($_GET[username])'") > 0)
{
echo "User Exists";
}
else
{
header("Location: /register.php?username=$_GET[username]");
}
?>
答案 1 :(得分:-1)
首先,创建一个默认页面,其中包含“此域尚未注册.blabla”的消息。请致电此registration.html
我假设您有一个存储已注册域名的数据库。
搜索数据库以查看是否已注册example.domain.com。
if(example.domain.com registered)
http_redirect (domain.com/users/example/);
else
http_redirect (registration.html);