如何为我的用户设置自定义配置文件URL?

时间:2017-02-08 13:02:40

标签: php

大家都知道,如果您登录Facebook或Twitter帐户,您会在地址栏上看到如下网址:https://web.facebook.com/iamakm15。这意味着您的用户名显示在网址上。我的问题是,Facebook和Twitter是如何做到这一点的?我的意思是他们使用什么编程语言来显示URL中的用户名?

现在,当我登录我的个人资料时,我得到一个这样的网址:http://localhost/AKM.PHP/project_akm/profile.php,那么如何在profile.php之后添加用户名:/profile.php/imakm15到我的网址?

1 个答案:

答案 0 :(得分:1)

稍后编辑(没有空间在评论中提供完整的解释)

好的,好的。让我们从头开始吧。当您在yoru服务器上没有重写设置时,您的链接将如下所示:

http://localhost/AKM.PHP/project_akm/profile.php?username=iamakm15

Profile.php将在您的php代码中使用$ _GET ['用户名']提取参数,它将在数据库中进行查询,其中子句username =' iamakm15'它将提取与' iamakm15'相关的信息。如果此步骤已经完成并且它已经完成,则在root localhost中(您需要将此文件放在此级别:localhost才能工作),添加一个名为' .htaccess' - 如果您已经有一个,只需添加以下行:

RewriteEngine On    
RewriteBase / 
RewriteRule ^AKM.PHP/Project_akm/([^/\.]+)/?$ /AKM.PHP/Project_akm/profile.php?username=$1  [L]

保存此文件后,只需尝试访问url:
http://localhost/AKM.PM/project_akm/iamakm15

你应该看到有关用户信息的页面:iamakm15。通过使用其他用户名修改iamakm15,使用数据库中的不同用户名进行此练习。

如果出现500错误,可以添加新规则(在RewriteBase /之后):

RewriteRule ^/AKM.PHP/Project_akm/profile\.php$ - [L] 

因为重定向后可以匹配自己。