我今天已经开始创建一个CMS用于个人用途,用于管理purporses并且还自学一些东西。
我的管理区域中有一个部分,我可以创建/更新/删除效果很好的网页或帖子。
我的问题是如何根据我存储在数据库中的信息生成页面和URL?
比方说我的表“posts”有几行包含“post_title”,“post_content”,“post_slug”等。如何在我的数据库中根据这些信息生成一个页面(因为它显然不是在创建基于PHP文件的页面),所以我会http://mywebsite.com/cool-new-post-slug.php(然后我可以通过ID获取内容等)?
如果有人能指出我正确的方向,那就太好了。谢谢你的回答。
答案 0 :(得分:1)
如果我正确理解你的问题,你需要先从数据库中检索所有slug,然后用它们构建你的url。
假设你正在使用mysqli:
$query = "SELECT post_slug,post_title FROM posts";
$posts = mysqli_query($con,$query);
while($post = mysqli_fetch_assoc($posts)){
echo "<a href=\"single.php?slug=" . $post["post_slug"] . "\">";
echo $post["post_title"];
echo "</a><br/>";
}
mysqli_free_result($posts);
然后在single.php
上,您将使用GET变量post_slug
来检索您的数据。
在.htaccess文件中,您可以使用mod_rewrite获取漂亮的URL,如下所示:
RewriteEngine On
RewriteBase /
RewriteRule posts/(.+?)/?$ single.php?slug=$1
这会显示您的浏览器的http://mywebsite.com/posts/cool-new-post/
网址,但它真正访问的是single.php?slug=cool-new-post