PHP中每个用户的自定义链接

问题描述:

作为每个用户链接的标准GET查询对用户和搜索引擎来说很容易但很难看。PHP中每个用户的自定义链接

// This looks UGLY 
website.com/index.php?userid=43232 

//This is what I want 
website.com/coolUser 

如何为每个用户制作一个自定义链接,而无需一直创建文件夹?

简单的方法,使URL那样,使用的.htaccess(创建.htaccess文件并上传到您的public_html/wwwdir)

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([0-9a-zA-Z-]+)/?$ index.php?userid=$1 [L] 

现在,您可以访问http://yoursite.com/43232http://yoursite.com/index.php?userid=43232

+0

我必须安装'mod-rewrite'或设置它吗?我完全按照你所说的做了,我也从网上做了一些例子,但没有任何作用。当我访问http://yoursite.com/index.php?userid=43232时,它可以正常工作,但是当我访问http://yoursite.com/43232时,它显示'找不到对象!'。 – NoobDev4iPhone 2011-12-29 05:26:59

+0

是的,你应该在apache配置中启用mod重写。 – 2011-12-29 05:30:00

+0

对不起,我刚刚意识到我拼错了文件名。非常感谢! – NoobDev4iPhone 2011-12-29 05:31:06

它被称为“路由”。您可以与本文开头:http://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/

你提到的叫做“clean URL”,你需要在Apache配置中需要一些所谓的“mod-rewrite”功能。

谢尔盖和祖尔克里指导你与他们的意见。你也可以看看下面的链接: http://wettone.com/code/clean-urls

但不要忘记你可能会看到你的问题,你的CSS,JS和图像文件。但他们也有自己的解决方案。如果你遇到这些问题,你可以找到它们。