1

我正在为我的公司建立一个网站,该网站在某种程度上类似于 facebook 或其他社交网站,并且用户将拥有一个公开的个人资料页面。我找不到,或者我可能不知道在哪里寻找,关于如何在不为每个用户创建特定页面的情况下创建公共页面的任何信息,我想做一些像 facebook 在你输入时所做的事情facebook url 之后的用户名(例如http://www.facebook.com/ANYUSERNAME),然后您进入个人资料页面,有人可以帮我出主意吗?开发服务器是使用 IIS 7.5 和 PHP 的 windows 2008,但生产服务器将是 mandriva 或任何其他带有 apache 和 php 的 linux 发行版。提前对每个人表示感谢。

4

2 回答 2

1

动态 URL 是在 Apache 中的大多数基于 Unix/Linux 的系统上通过一个名为“mod_rewrite”的插件完成的。但是,您正在运行 Windows。IIS 有一个 Microsoft 的重写插件。

http://www.iis.net/download/URLRewrite

本质上,行为最终是您为特定文件夹或其他事物设置规则。如果页面实际上不存在于磁盘上,或者不以 .php 结尾,则运行规则集。如果它与规则匹配,则将其作为查询字符串或代码页的其他变量传递给真实页面。如果不存在,则抛出 404。

于 2012-07-02T21:29:18.213 回答
1

您将需要mod_rewrite(对于IIS)并实现前端控制器模式(通常在 中index.php)。

然后,前端控制器将检查 URL 的第一段(在您的示例中它将是ANYUSERNAME),如果该路由不存在,您可以假定它是用户个人资料页面。然后,您可以选择将用户重定向到特定的个人资料页面(类似于/profile/USER),或者直接显示。

于 2012-07-02T21:31:07.250 回答