mod_rewrite的PHP的MySQL

我真的是新mod_rewrite,我一直在试图弄清楚,但真的卡住了。 这是我的问题。

我有一个页面http://example.com/user/?s=81?s = 81正在读取数据库中的用户ID。

我想要的是一个链接
http://example.com/nookie

在数据库中,我有一个字段称为whatuser所以在第81行在该领域我有用户nookie

所以我想从数据库中读取数据库中的用户,并从中创build简易url。 我也有该用户文件夹中的几个PHP页面,所以我需要能够链接到他们喜欢

example.com/nookie/step1.php example.com/nookie/step2.php 

我希望你明白我的意思。 Cheerz! / Nookie

据我所知,你不能用mod_rewrite查询数据库。

把PHP脚本放到/user/?s=81 ,在db中查找用户名,然后将用户重定位到$url = "/$username"; 看到PHP的头函数传递"Location: $url"给它。

另一种可能性(我没有想太多:))是你添加一个额外的字段到数据库,例如user_home = / nookie /。 因此,登录脚本在验证帐户详细信息时抓取它,并在成功验证时将其发送到哪里? 不需要重写/额外的脚本。

这里是我会建议:如果您的用户名只是字母数字字符,您可以传递到所有的PHP文件,在内部重写后,在GET查询。

就像是:

 RewriteRule /([a-zA-Z0-9]+)$ /user/?s=$1 [QSA,L] RewriteRule /([a-zA-Z0-9]+)/(.*)$ /$2?s=$1 [QSA,L] 

然后,只要在Php中有“母亲母亲”类,在查询字符串( $_GET )中检查值“s”,该字符串检查数据库中用户是否存在。 如果用户不存在,则在PHP中创建一个404

我几乎已经把它整理出来了,到目前为止这里是解决方案:这是.htaccess行

RewriteRule ^([a-z0-9 _-] +)$ user /?s = $ 1 [L,NC]

然后在索引文件中,我有以下内容:$ trafikskola_id = mysql_real_escape_string($ _ GET ['s']);

$ vilken_trafikskola = mysql_query(“SELECT * FROM users where slug ='$ trafikskola_id'”)或退出(mysql_error());

在数据库中,我已经创建了slug字段,在第81行添加了nookie,我的url看起来像

http://mypage.com/nookie而不是http://mypage.com/user/?s=81 =))

不过,我有问题,我不能链接http://mypage.com/nookie/有一个转发

而且我的css-js-non-of-images也在起作用。有什么想法来解决这些问题?