在普通的php中创建一个来自slug博客标题的视图

时间:2014-09-26 11:15:12

标签: php mysql url-routing

我已经看到很多关于如何生成一个独特的slug标题然后将它存储在数据库中的材料。

我想创建一个包含blog/my-first-post等网址的博客,然后从数据库中获取内容并制作视图。 假设我将有一个非常基本的表格列( id,title,body,slug ),我已经在数据库中为每个帖子生成了slug。

如何在PHP中创建一个简单的路由器,获取url blog/my-first-post获取slug并在数据库中搜索它,然后从db中获取该帖子的内容,以便将博客内容分配到数组,然后为该网址创建视图?

如果可能的话,所有这些都不使用PHP框架。

1 个答案:

答案 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