Facebook如何制作个人命名页面?

时间:2013-11-19 04:05:19

标签: php facebook url uri

嘿,大家希望一切都很好,这是我的问题:当你点击Facebook个人资料时,地址栏会显示以帐户所有者命名的URI,例如:

姓名:约翰史密斯 Facebook URI:facebook.com/john.smith

问题是,如何根据每个用户的名称动态命名页面。我不相信Facebook会创建一个以每个用户命名的目录,然后在每个目录中添加相同的html,css,scripts等...所以如果我决定在PHP中创建一个成员的页面,我将如何根据它命名它用户名?

所有建设性的答案都欢迎并度过愉快的一天。

2 个答案:

答案 0 :(得分:1)

如果您之前使用过任何框架,那么您将熟悉路由的概念。

我会给你一个粗略的想法,可以在任何框架中复制。我假设我会:你有一个存储用户详细信息的表,它有一个自定义URL slug的字段。

现在逻辑:

  1. 假设您的路线配置为website.com/user/mr.xyz
  2. 这意味着user/query的路线将设置为User(query)等控制器。
  3. 现在,您检查查询值,并使用自定义URL字段查看它是否存在于您的数据库中。
  4. 如果匹配,则加载该用户的个人资料。
  5. 更新

    你应该看到how routes work in Laravel。如果你不了解框架,那么你应该学习一个框架来理解这些东西是如何运作的。

答案 1 :(得分:0)

这通常是通过重写模块实现的,例如apache的mod_rewrite。 这会将domain.com/profilename中的url内部更改(重写)为domain.com/profile.php?profile=profilename。然后,您可以使用$ _GET ['profile']访问查询参数。这实际上是apache的一个特性而不是PHP。

重写发生在服务器上,因此浏览器仍然会向用户显示友好的URL。

这是一篇更深入的文章/教程。

http://net.tutsplus.com/tutorials/other/a-deeper-look-at-mod_rewrite-for-apache/?search_index=13

祝你好运