被困在一个htaccess和重写


Got stuck in a htaccess and rewrite

这是我在这里的第一个问题,所以提前感谢大家,也为我糟糕的英语感到抱歉。

我正试图将htaccess和重写应用到我正在进行的一个项目中,但问题是我以前从未这样做过。我已经读了很多关于这个的帖子(如http://corz.org/serv/tricks/htaccess2.php或这个http://www.the-art-of-web.com/system/rewrite/1/#.UW7mHqJhXCd)和文章,但结合以前没有正则表达式的经验,我无法完成它…

我已经用了2天了,我快没时间芬兰语了,所以我想知道是否有人能帮我一把,所以它是这样的:


WHAT I HAVE:

3个文件在我的根目录:index . phphome。php 404.

数据库:在users表中有一个名为user_url

的字段

这需要如何工作:

我想像这样显示每个用户的个人页面www.example.com/user_url

我现在就这样做www.example.com/?id=user_url

但在某些情况下,我还需要它能够直接到文件中,比如home。php而不是写?id=home


尝试将这些规则添加到文档根目录下的htaccess文件中,最好是在执行其他类型路由的规则之上:

Options -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /index.php?id=$1 [L,QSA]

至于这个:

但在某些情况下,我还需要它能够直接到文件中,比如home。php而不是写?id=home

我不知道你在说什么。如果你的意思是你想去http://www.example.com/home.php而不被重写为/index.php?id=home.php,那么这就是上面两个条件所做的。