2009-10-15 59 views
0

每个用户都可以有一个网站,每个用户得到自己的网址,如: www.thewebsite.com/myusername自定义URL在PHP

我希望每个用户的网站是一样的,唯一的名称很重要的原因是,如果一个访问该网站的人注册了,他们将获得他们自己的自定义网址,但是他们注册的人会被追踪为他们的“父母”。

所以如果我去www.thewebsite.com/phil注册成为David,那么我的网站就会变成www.thewebsite.com/david,但是Phil会记录在我的用户记录中。 (即有没有办法,我知道他们访问了哪些URL下的网站),所以

,确实这是两个问题:

1)如何使每个用户 2自定义的网址)我怎么知道哪一个新用户访问过的网址是

我是PHP新手,所以请牢记这一点。

+0

上面给出了一个很好的答案,只有我意识到它可能不是我正在寻找的答案。 我想要的是,当有人在电子邮件中发送该链接时,我的网址为www.domain.com/user,但当涉及到我的网站时,没有www.domain.com/user目录。我的系统会将该目录识别为用户名并从那里继续。 基本上,我希望任何有效的用户都能够发出指向www.domain.com/MYUSER的链接,而无需在我的网站上存在该物理目录。 这可能吗? – 2009-10-15 20:31:05

回答

3

你可以使用apache mod_rewrite来实现这个。

做一个重写规则类似:

^/users/($1) /users.php?userid=$1 

在user.php的文件中读取用户ID参数,并返回对应于给定用户的页面。

至于从哪个用户那里注册/登录到您的站点,您可以保留一个会话值(例如引用用户标识),以及新用户注册时,写入您的将其引用到您的站点的db 。

+0

是否可以在不访问mod_rewrite的情况下执行此操作? 至于mod_rewrite的事情,我猜测URL只是显示给用户/ users/myuser,但仍然显示为我的程序/users.php?userid=myuser 这是正确的吗? – 2009-10-15 02:46:36

+0

“就mod_rewrite而言,我猜测URL只是向用户显示为/ users/myuser,但仍以/users.php?userid=myuser显示给我的程序这是正确的吗?” 是的,没错。 – lemon 2009-10-15 02:58:10