卡在htaccess并重写

时间:2013-04-17 20:49:02

标签: php .htaccess rewrite

这是我在这里的第一个问题,所以提前谢谢大家,也很抱歉我的英语不好。

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

我已经和你呆了2天了,而且我已经没时间去装药了,所以我想知道是否有人可以帮助我,所以在这里:


我有什么:

我的root上有3个文件: 的index.php home.php 404.php

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

的字段

如何工作:

我想显示每个用户个人页面,如www.example.com/user_url

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

但是我也需要这个能够在某些情况下直接转到文件,比如home.php,而不是必须做类似的东西?id = home


1 个答案:

答案 0 :(得分:2)

尝试将这些规则添加到文档根目录中的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,那么这就是上述两个条件所做的事情。