特殊的个人资料页面链接,例如www.domain.com/username

时间:2011-01-15 13:56:34

标签: php

嘿伙计我有个问题。我想为每个新用户创建一个个人资料页面,我注意到你可以在Facebook上输入www.facebook.com/username,然后进入用户的页面,我的问题是,如果没有像域这样的东西我怎么能这样做.com / users.php?useraname =“username”或类似的东西?我怎样才能像facebook那样简单地制作它?

4 个答案:

答案 0 :(得分:2)

您正在寻找的是mod_rewrite。这将允许您编写最终用户看来的PHP代码作为服务器上的目录(例如www.facebook.com/user.php?username到www.facebook.com/username。)

可以在此处找到使用PHP的介绍:http://wettone.com/code/clean-urls

请注意,您需要在服务器上启用它。如果您正在运行Apache服务器,那么应​​该可以在.htaccess文件中使用。

答案 1 :(得分:0)

这不是一个完整的答案,因为我不是一个php人

你正在寻找一个RESTful网址,如果你使用支持restful urls的框架,大多数你可以在你的网络应用上获得这样的网址

见这个问题:
REST-style URLS and PHP

参见这篇文章:
http://blog.garethj.com/2009/02/building-a-restful-web-application-with-php/

Search googleSearch SO with google

答案 2 :(得分:0)

单靠PHP无法做到这一点。 Web服务器需要首先知道如何处理这类请求。

因为简单地说,Web服务器只接受请求并尝试将其映射到文档根目录下面的文件系统中的文件。如果找不到合适的文件,则会返回404错误代码。

现在几乎每个网络服务器软件都有某种URL rewriting机制。如果Apache是​​最流行的Web服务器软件,那么mod_rewrite允许基于规则进行URL重写。在这种情况下,以下内容可以通过/users.php?username=username启用/username

RewriteEngin on
RewriteRule ^[a-z]+$ index.php?username=$0

答案 3 :(得分:0)

选项+ FollowSymLinks
RewriteEngine On RewriteBase / php / profile RewriteCond%{SCRIPT_FILENAME}!-d
RewriteCond%{SCRIPT_FILENAME}! - f
RewriteRule ^ users /(。 $ ./profile.php

http://exapmle.com/users/waqar.alamgir

在$ _SERVER ['REQUEST_URI']中你会看到users / waqar.alamgir