我编写了一些php代码,用于生成article.php?id=1
等页面的URL。
显然,id是从数据库中获取的文章的id。在同一个数据库表中,我有id
,title
和category
列。
如:
id title category
1 hello world general
我的问题是如何使用文章的标题和类别而不是id来重写URL。例如,我想重写URL
example.com/article.php?id=1
要:
example.com/general/hello-world
感谢。
答案 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