创建用户友好URL的技术


Technique to create user friendly URLs

可能重复:
如何在php中创建友好的URL?

我在谷歌上读了很多关于打开的内容

profile.php?id=24变成了更用户友好的东西。

我该如何重定向像这样的链接

www.site.com/profile/username

profile.php?id=userid (find from username)

感谢

这可以通过Apache mod_rewrite重写引擎实现。一个例子.htaccess:

RewriteEngine On
RewriteRule ^/profile/username/(['d]+)$ profile.php?id=$1

您可以使用apache重写规则来实现这一点。

Apache会在内部将类似/profile/username的URL重写为profile.php?username=username

示例:(将其放在与profile.php相同目录的.htaccess中(

RewriteEngine On
RewriteRule ^/profile/(.*)$ profile.php?username=$1

如果profile.php脚本不接受username参数,也可以在用户友好的url:中包含用户id

RewriteEngine On
RewriteRule ^/profile/(.*)-('d+)$ profile.php?id=$2

这将把类似/profile/username-id的URL重写为profile.php?id=id

请参阅mod_rewrite文档。

这是通过在.htaccess文件中创建RewriteRule来完成的,或者通过在httpd.conf中定义规则来完成的。这适用于Apache。我不知道如何在其他服务器上做到这一点。

当您的用户注册时,使用PHP或CGI脚本制作一个名为"Username.txt"的文件,并将其存储在名为Profiles的文件夹中(正如您所拥有的(。在文本文件中,让它生成数字(向上计数还是散列?(或者在谷歌或Apache中使用重写服务。