我想知道如何能够将用户名直接附加到站点URL而不必将其放入查询中?直接添加用户名到URL PHP
如
www.myspace.com/micheal
,而不是
www.myspace.com?name=micheal
而不必为用户创建一个新的文件夹,以便当输入网址包括名称时,冲浪者将直接进入用户的个人资料。
Thanx
我想知道如何能够将用户名直接附加到站点URL而不必将其放入查询中?直接添加用户名到URL PHP
如
www.myspace.com/micheal
,而不是
www.myspace.com?name=micheal
而不必为用户创建一个新的文件夹,以便当输入网址包括名称时,冲浪者将直接进入用户的个人资料。
Thanx
对于Apache web服务器.htaccess文件与下面的代码将做到这一点。
RewriteEngine on
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?name=$1 [QSA,L]
@Stanley请注意,它会带来任何URL输入,甚至'micheal/some/anything /',所以需要进一步的filetring – 2010-05-13 11:24:19
这被称为url重写,并且由Apache服务器上的mod_rewrite处理。
重写规则将传入的uri解析并重建为脚本需要运行的内容。
一个很简单的例子:
RewriteRule ^michael$ /?name=michael$
有很多关于谷歌,当你知道去哪里找。从这里开始:
如果你使用Apache,其中,使用PHP,你最有可能的是,考虑mod_rewrite
。这可以让你做这样的事情,在发送到脚本之前,www.myspace.com/micheal
将在内部翻译为www.myspace.com/?name=micheal
。
请查看http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html以获取有关如何使用它的文档。
我想你可能会提到 “漂亮网址”,这通常是安装在使用类似的Apache mod_rewrite的web服务器级别:
对于IIS而言,而不是Apache – Tarka 2010-05-12 19:28:52
thanx您快速反应,堆栈溢出永远!!!!! – 2010-05-13 08:57:02