可能重复:
在灯配置创建个性化网址
一旦用户注册,我想他们选择被用来生成一个唯一的个人资料页面查看到任何人(不仅仅是用户)的用户名。 如果“鲍勃”寄存器,他将在website.com/bob的轮廓
我已经看过那个说要解决.htaccess中的问题类似的问题,但他们没有说明如何可以做到这一点。
可能重复:
在灯配置创建个性化网址
一旦用户注册,我想他们选择被用来生成一个唯一的个人资料页面查看到任何人(不仅仅是用户)的用户名。 如果“鲍勃”寄存器,他将在website.com/bob的轮廓
我已经看过那个说要解决.htaccess中的问题类似的问题,但他们没有说明如何可以做到这一点。
你可能不完全需要生成注册时独特的个人资料页面。 你可以简单地作出这样的脚本profile.php
这需要一个参数, user
通过访问动态呈现给定用户的配置文件/profile.php?user=bob
。 例:
<?php
$u = $_GET['user'];
echo "<h2>Profile of ".htmlentities($u)."</h2>";
?>
当你想重写URL的.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]
吉米Sawczuck指出的答案,但在这里解释一下:
你想在你的情况下实现什么是使用用户名的URL来访问个人资料页。 为每个用户创建的PHP文件很麻烦,并且会导致错误(maintanability是awfull太)
您可以创建使用名为参数一个profile.php脚本username
。 所以,你的链接会
mysite.com/profile.php?username=bob
但是这不是你想要的网址。 并节省您的Web服务器存在的重写MOD(mod_rewrite的Apache的,搜索相应的其他网络服务器程序)
这个mod让你重写你的URL来匹配你想要什么:
例如:在website.com/bob网页浏览器是rewrited website.com/profile.php?username=bob为您的服务器。
这意味着你的用户可以拥有漂亮的/微小的网址,但该网站服务器会改变它来调用所需的脚本。 因此,无论是幸福的。
要做到这一点,你重写使用一个模块与重写规则。 如果您使用Apache,您使用mod_rewrite,并把该规则在您的网站配置文件或的.htaccess以期望目录。
对于规则检查由吉米Sawczuck给出的链接
问候
如果你使用PHP,你可以存储在数据库中的用户信息,并且使用的fopen(“bob.php”)创建的目录中的文件。 然后有bob.php叫你需要显示用户信息的任何功能。
因为有一定是重复的,您可能需要随机用户的URL。
我不相信的.htaccess可以做到这一点。