注册时生成配置文件页面 - PHP

时间:2012-04-22 16:11:02

标签: php profiles

  

可能重复:
  Create vanity URLs in a LAMP configuration

一旦用户注册,我希望他们选择的用户名用于生成可供任何人(不仅仅是用户)查看的唯一个人资料页面。如果“bob”注册,他将在website.com/bob

上有个人资料

我已经查看过用.htaccess解决问题的类似问题,但他们没有描述如何做到这一点。

3 个答案:

答案 0 :(得分:1)

注册后,您无需生成唯一的个人资料页面。您只需创建一个类似profile.php的脚本,该脚本会使用参数user通过访问/profile.php?user=bob来动态显示给定用户的个人资料。例如:

<?php
$u = $_GET['user'];
echo "<h2>Profile of ".htmlentities($u)."</h2>";
?>

.htaccess在您想要通过使用以下内容重写网址website.com/user/bob以指向website.com/profile.php?user=bob时发挥作用。

RewriteEngine On
RewriteBase /

RewriteRule ^/user/([0-9a-zA-Z]*)$ /profile.php?user=$1 [NC,QSA,L]

答案 1 :(得分:-1)

Jimmy Sawczuck指出了答案,但在此解释:

您希望在您的情况下实现的是使用网址中的用户名访问个人资料页面。 为每个用户创建php文件很麻烦,并且可能导致错误(maintanability也很糟糕)

您可以创建一个使用名为username的参数的profile.php脚本。所以你的链接将是

mysite.com/profile.php?username=bob

然而,这不是你想要的网址。为了节省你的存在重写Web服务器的mod(mod_rewrite for apache,搜索其他web服务器的相应实用程序)

此mod允许您重写您的网址以符合您的要求:

例如:webbrowser中的website.com/bob会重新为您的服务器重新命名为website.com/profile.php?username=bob。

这意味着用户可以拥有漂亮/小巧的网址,但网络服务器会将其更改为调用所需的脚本。所以两人都很高兴。

要执行此重写,您需要使用具有重写规则的模块。如果你使用apache,你可以使用mod_rewrite并将规则放在你想要的目录中的网站配置文件或.htaccess中。

规则检查由Jimmy Sawczuck提供的链接

此致

答案 2 :(得分:-4)

如果您使用的是PHP,则可以将用户信息存储在数据库中,并使用fopen('bob.php')在目录中创建文件。然后让bob.php调用显示用户信息所需的任何功能。

您可能需要随机化用户网址,因为肯定会有重复项。

我不相信.htaccess可以做到这一点。