像Facebook一样的公共个人资料的URL重定向


URL redirect for public profiles like facebook does

我正在为我的公司建立一个网站,这个网站在某种程度上就像Facebook或其他社交网站一样,用户将拥有一个公开的个人资料页面。我找不到,或者我不知道在哪里寻找任何关于如何在不为每个用户创建特定页面的情况下做某事来创建该公共页面的任何信息,我想像 facebook 一样做一些事情,当您在 facebook 网址(EX. http://www.facebook.com/ANYUSERNAME)之后输入用户名,然后您落入个人资料页面, 有人可以帮我出主意吗?开发服务器是使用IIS 7.5和PHP的Windows 2008,但生产服务器将是mandriva或任何其他带有apache和php的Linux发行版。提前向大家致谢。

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

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

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

您需要

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

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