php - 在纯 PHP 中从 slug 博客标题创建 View

标签 php mysql url-routing

我看过很多关于如何生成唯一的 slug 标题然后将其存储在数据库中的资料。

我想用 blog/my-first-post 这样的 url 创建一个博客,然后从数据库中获取内容并制作 View 。 假设我将有一个包含列(id、title、body、slug)的非常基本的表,并且我已经在数据库中为每篇文章生成了 slug。

我如何在 PHP 中制作一个简单的路由器来获取 url blog/my-first-post 获取 slug 并在数据库中搜索它,然后从db 所以我将博客内容分配到一个数组中,然后为该 url 创建 View ?

所有这一切都尽可能不使用 PHP 框架。

最佳答案

您可以使用 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 文件,URL 看起来像 www.website.com/blog/slug-name

可以使用 $_GET['url'] 访问 URL 的 slug-name 部分

然后从您的数据库中获取与 slug 匹配的相关数据:

SELECT title, body FROM blogs WHERE slug = $_GET['url']

显然不要使用那个 SQL,它只是一个示例。确保使用 prepared statements

关于php - 在纯 PHP 中从 slug 博客标题创建 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26058278/

相关文章:

javascript - 如何从ajax请求中检索隐藏的TD值

php - MySQL基于两列的插入/更新

php - 用于可扩展性的宾果游戏数据库表示

php - 是否有一个 PHP 函数可以计算一个值在数组中出现的次数?

java - 商店中购买最多的商品 SQL

php - 将 MySQL 从 latin1 编码更改为 UTF-8

javascript - Backbone.JS 或 Marionette.JS 路由,无需哈希更改依赖

javascript - '/' 用 url 中的 %252F 替换,同时以 Angular 重新加载 $state

php - 如何在 SQL 和 PHP 中正确使用 WHERE 和 JOIN

routing - 在 Zend 框架 v2 中的重定向中设置 url 参数