我已经看到很多关于如何生成一个独特的slug标题然后将它存储在数据库中的材料。
我想创建一个包含blog/my-first-post
等网址的博客,然后从数据库中获取内容并制作视图。
假设我将有一个非常基本的表格列( id,title,body,slug ),我已经在数据库中为每个帖子生成了slug。
如何在PHP中创建一个简单的路由器,获取url blog/my-first-post
获取slug并在数据库中搜索它,然后从db中获取该帖子的内容,以便将博客内容分配到数组,然后为该网址创建视图?
如果可能的话,所有这些都不使用PHP框架。
答案 0 :(得分:1)
您可以使用htaccess:
将所有内容路由到index.php页面<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
使用此htaccess文件,网址将显示为www.website.com/blog/slug-name
可以使用slug-name
$_GET['url']
部分
然后从数据库中获取与slug匹配的相关数据:
SELECT title, body FROM blogs WHERE slug = $_GET['url']
显然,不要使用那个SQL,它只是一个例子。请务必使用prepared statements