嘿,大家希望一切都很好,这是我的问题:当你点击Facebook个人资料时,地址栏会显示以帐户所有者命名的URI,例如:
姓名:约翰史密斯 Facebook URI:facebook.com/john.smith
问题是,如何根据每个用户的名称动态命名页面。我不相信Facebook会创建一个以每个用户命名的目录,然后在每个目录中添加相同的html,css,scripts等...所以如果我决定在PHP中创建一个成员的页面,我将如何根据它命名它用户名?
所有建设性的答案都欢迎并度过愉快的一天。
答案 0 :(得分:1)
如果您之前使用过任何框架,那么您将熟悉路由的概念。
我会给你一个粗略的想法,可以在任何框架中复制。我假设我会:你有一个存储用户详细信息的表,它有一个自定义URL slug的字段。
现在逻辑:
website.com/user/mr.xyz
。user/query
的路线将设置为User(query)
等控制器。你应该看到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
祝你好运