我正在开发一个基于用户仪表板和登录和个人资料的网站。我的个人资料和用户存在问题。
有人可以解释一下Twitter甚至Quora如何设法为每个用户分配一个特殊的域名,如twitter.com/username?
他们甚至立刻做到了吗?我知道如何手动执行此操作,但他们如何立即执行此操作?我知道这是一个愚蠢的问题,但如果你能提供帮助,我会很高兴。
谢谢
答案 0 :(得分:1)
这不是域名。这是域名上的一条路径。他们将domain.com/stuff重写为控制器。在php中,您可以将其路由到domain.com/profile.php?username=stuff。然后,该页面查询数据库并使用必要的信息填充视图。
<?php
// sample profile.php
// NOTE - this is not secure - it's only to provide a general idea
// your code will vary - assuming a mysql connection already exists
// i'm ignoring a lot here - this is just a basic idea
$username = $_GET['username'];
$qry = mysql_query("SELECT * FROM profiles WHERE username = '".mysql_real_escape_string($username)."' LIMIT 1"); // to prevent injection
while($row = mysql_fetch_assoc($qry)){
$profile = $row
}
?>
<html>
...
<span><?php echo $profile['first_name']; ?></span>
<!--- $profile[column_name] --->
</html>
如果您要创建包含个人资料和页面的网站,则不应为每个用户创建单独的个人资料页面 - 使用“模板”然后填写必要的值。如果是自定义页面,请在数据库中存储颜色和bg图像等内容。
这只是一个SQL查询,所以速度非常快。
如果您使用的是apache,则可以使用.htaccess重写URL
答案 1 :(得分:0)
结帐Apache's mod_rewrite,他们所做的就是检查重定向到/<username>
等脚本的finduser.php?user=<username>
模式
我认为你的意思是手动设置目录,但事实并非如此。