从PHP获取URL的用户名

时间:2010-05-06 20:24:31

标签: php url parsing

我想要这样的事情:

http://www.someniceandreliableurl.com/username

并抓住用户名。

我想制作像twitters / facebook / etc quick urls ...

twitter.com/username

我怎么能用php制作这样的东西? =)提前谢谢你。

4 个答案:

答案 0 :(得分:8)

.htaccess 文件中使用 mod_rewrite

RewriteEngine on
RewriteOptions MaxRedirects=1
RewriteCond %{REQUEST_FILENAME} -f [NC,OR] 
RewriteCond %{REQUEST_FILENAME} -d [NC] 
RewriteRule .* - [L]
RewriteRule ^(.*)$ /foo.php/$1 [QSA,L]

foo.php 是您显示快速网页的脚本。

然后在 foo.php (或任何你命名的内容)中,你可以在$_SERVER['PATH_INFO']中找到用户名。

前5行打开 mod_rewrite ,并允许重写规则忽略实际的文件/文件夹/脚本。最后一个重写所有不是罚款/文件夹/脚本的网址。

答案 1 :(得分:6)

您可以在apache中使用RewriteRule将site.com/user转换为site.com/loadpage.php?user=user

RewriteEngine On
RewriteRule ^/([a-z0-9]+)  /load_user.php?user=$1 [NC,L,QSA]

答案 2 :(得分:1)

您需要让网络服务器将该网址重写为包含您可以从PHP访问的数据的查询字符串。您的PHP脚本是否适用于

等网址
http://www.someniceandreliableurl.com/?user=username

然后确保apache已安装mod_rewrite并允许您使用.htaccess。然后使用重写规则创建一个.htaccess文件,例如

RewriteEngine On
RewriteRule   ^/(.*)$ /?user=$1 [QSA]

答案 3 :(得分:0)

在Apache中检出ModRewrite或使用提供路由的php框架。这通常基于$ENV['PHP_SELF']变量,它允许您在PHP代码中执行更多操作,而这通常是您在ModRewrite中必须执行的操作。它将返回主机名后面的url部分,以便您可以执行http://exmaple.com/index.php/username/profile之类的网址。