我想知道如何将用户名直接附加到网站网址,而不必将其放在查询中?
例如
www.myspace.com/micheal
而不是
www.myspace.com?name=micheal
无需为用户创建新文件夹,以便在输入包含名称的网址时,冲浪者将直接转到用户的个人资料。
感谢名单
答案 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$
当你知道在哪里看时,谷歌上有很多东西。从这里开始:
答案 3 :(得分:1)
正如大家都指出的那样,你想要URL重写。
如果您使用的是IIS而不是Apache,那么仍有几个选项。
免费选项 - Ionics Isapi rewrite filter
商业选择 - Isapi_Rewrite
答案 4 :(得分:0)
我认为你可能指的是“Pretty URLS”,它通常是在Web服务器级别使用Apache mod_rewrite设置的: