可能重复:
如何在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中使用重写服务。