注册时生成个人资料页面 - PHP



可能的重复项:
在 LAMP 配置中创建虚 URL

用户注册后,我希望使用他们选择的用户名来生成任何人都可以(不仅仅是用户)查看的唯一个人资料页面。如果"鲍勃"注册,他将有一个个人资料 website.com/bob

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

您不需要在注册时生成唯一的个人资料页面。您可以简单地制作一个像profile.php这样的脚本,该脚本采用参数user,通过访问/profile.php?user=bob来动态显示给定用户的配置文件。例:

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

例如,当您想要使用以下方法重写 URL website.com/user/bob以指向website.com/profile.php?user=bob时,.htaccess 就会发挥作用。

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

Jimmy Sawczuck指出了一个答案,但在这里解释一下:

在这种情况下,您要实现的是使用 url 中的用户名访问个人资料页面。为每个用户创建php文件很麻烦,并且可能导致错误(维护性也很糟糕)

您可以创建配置文件.php脚本,该脚本使用名为 username 的参数。所以你的链接将是

mysite.com/profile.php?username=bob

但是,它不是您想要的网址。为了保存您存在网络服务器的重写模块(mod_rewrite对于apache,搜索其他网络服务器的相应实用程序)

这个模组允许你重写你的网址以匹配你想要的:

例如:网络浏览器中的 website.com/bob 被重写 website.com/profile.php?username=bob 为您的服务器。

这意味着您的用户可以拥有漂亮/微小的URL,但Web服务器会将其更改为调用所需的脚本。所以两个人都很开心。

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

有关规则,请检查Jimmy Sawczuck提供的链接

问候

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

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

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

相关内容

  • 没有找到相关文章

最新更新