直接将用户名添加到URL PHP

时间:2010-05-12 13:38:27

标签: php

我想知道如何将用户名直接附加到网站网址,而不必将其放在查询中?

例如

www.myspace.com/micheal

而不是

www.myspace.com?name=micheal

无需为用户创建新文件夹,以便在输入包含名称的网址时,冲浪者将直接转到用户的个人资料。

感谢名单

5 个答案:

答案 0 :(得分:3)

如果您正在使用Apache,那么使用PHP很可能会查看mod_rewrite。这使您可以执行以下操作:www.myspace.com/micheal在发送到脚本之前将www.myspace.com/?name=micheal内部转换为{{1}}。

请查看http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html以获取有关如何使用它的文档。

答案 1 :(得分:2)

对于带有以下代码的Apache Web服务器.htaccess文件,可以做到这一点。

RewriteEngine on
RewriteBase /
RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteRule  ^(.*)$ index.php?name=$1 [QSA,L]

答案 2 :(得分:1)

这称为url重写,由Apache服务器上的mod_rewrite处理。

重写规则接受传入的uri,解析它并将其重建为脚本需要运行的内容。

一个非常简单的例子:

RewriteRule ^michael$ /?name=michael$

当你知道在哪里看时,谷歌上有很多东西。从这里开始:

http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

答案 3 :(得分:1)

正如大家都指出的那样,你想要URL重写。

如果您使用的是IIS而不是Apache,那么仍有几个选项。

免费选项 - Ionics Isapi rewrite filter

商业选择 - Isapi_Rewrite

答案 4 :(得分:0)

我认为你可能指的是“Pretty URLS”,它通常是在Web服务器级别使用Apache mod_rewrite设置的: