.htaccess 如何重写这样的链接?

.htaccess 如何重写这样的链接?,.htaccess,rewrite,.htaccess,Rewrite,我有一个链接,比如说:……在正常模式下,通过正常的重写,我会得到如下内容:。但是,……我想要的是……我如何从数据库中获取id为1的用户的用户名并生成url 谢谢,您想制定一条规则来重写http://site.com/profile/FinalDestiny至http://site.com/profile.php?username=FinalDestiny,然后在profile.php中执行数据库查询,以查找使用该用户名的用户id。您可以使用mod_rewrite的功能,但是,您必须将id和用户名

我有一个链接,比如说:……在正常模式下,通过正常的重写,我会得到如下内容:。但是,……我想要的是……我如何从数据库中获取id为1的用户的用户名并生成url


谢谢,

您想制定一条规则来重写
http://site.com/profile/FinalDestiny
http://site.com/profile.php?username=FinalDestiny
,然后在
profile.php
中执行数据库查询,以查找使用该用户名的用户id。

您可以使用
mod_rewrite
的功能,但是,您必须将id和用户名对存储到文本文件或基于DBM文件的数据库中。请记住,要使用此指令,首先必须在httpd.conf中声明它,因此需要对httpd.conf的访问和写入权限

如果您的用户存储在另一个数据库(MySQL或类似数据库)中,我建议您使用文本文件,并在添加或删除用户时简单地覆盖它

如果您有足够多的用户可以选择使用DBM,那么您可以尝试使用PHP或如上所述制作文本文件,并使用Apache实用程序将其转换为数据库(通过
exec()
或类似方式)


RewriteMap
还允许使用外部程序(例如,PHP CLI脚本)返回URL映射,但这似乎有些过头了……

您是想生成URL还是处理URL?如果生成,那么您使用的是什么框架(如果有)?如果是进程,那么您可以使用与ID相同的方法进行搜索,但基于用户名进行搜索。不,我想使用ID。。。。使用profile.php?username=FinalDestiny,我也知道怎么做。但是我想使用id。