帮助mod_rewrite

时间:2011-05-22 20:02:46

标签: mod-rewrite

我编写了一些php代码,用于生成article.php?id=1等页面的URL。 显然,id是从数据库中获取的文章的id。在同一个数据库表中,我有idtitlecategory列。 如:

id      title                   category
1       hello world             general

我的问题是如何使用文章的标题和类别而不是id来重写URL。例如,我想重写URL

example.com/article.php?id=1

要:

example.com/general/hello-world

感谢。

2 个答案:

答案 0 :(得分:0)

最简单的方法是使用名为general.php的php文件并使用$_SERVER['PATH_INFO']变量。

答案 1 :(得分:0)

我想你将使用传入的重写规则。

一种方法是从URL中提取类别和标题,并使用另一个PHP文件来查找文章

RewriteRule .*?\.php - [PT]
RewriteRule  (.*?)/(.*)  articleByCategoryAndTitle.php?category=$1&title=$2

第二种方法可能是使用

中的所有三个部分
example.com/category/title-42

然后使用RewriteRule按ID打开文章页面

RewriteRule (?:.*)-(\d+)$ article.php?id=$1