gpt4 book ai didi

php - 自定义 CMS,漂亮的永久链接,如商业 CMS

转载 作者:可可西里 更新时间:2023-11-01 13:40:28 38 4
gpt4 key购买 nike

我目前正在为我的个人项目开发一个非常基础的 CMS。这对我自己的教育和任何事情一样重要。我的一个问题是如何在没有文件扩展名的情况下实现 url/永久链接。我了解使用获取变量从数据库中提取数据,但是如何将其转换为 www.url.com/posttitle 之类的内容,而不是 www.url.com/?posttitle='blablabla 之类的内容。

还有一个稍微不同的主题,任何人都可以指出一个易于使用的框架的方向,用于开发处理成员(member)资格和成员(member)列表的网站,例如 craigslist。

我目前在 wordpress 中进行开发,能力相当强,但不太熟悉 OOPHP 和自定义 CMS 的基本开发。

在此先感谢您的任何帮助或建议。

最佳答案

您将使用 .htaccess 文件将所有请求传递给您的前端 Controller (通常只是一个 index.php 脚本),然后该脚本与对您数据库中记录的传入请求。

例如,如果您有一个名为 pages 的数据库表,其中包含四列:idtitleslugcontent,下面是一个简单的实现……

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php/$1 [NC,L]

这告诉 Apache 接受所有不是文件或方向的请求并将它们发送到 index.php

您的 index.php 可能如下所示:

<?php
// Take request URI
// Would be something like 'your-slug'
$request = trim($_SERVER['REQUEST_URI'], '/');

// Set up database connection and attempt to match slug
$sql = "SELECT * FROM pages WHERE slug = ? LIMIT 1";
$smt = $db->prepare($sql);
$smt->execute(array($request));

$page = $smt->fetchObject();

if (! $page) {
// Page was not found matching slug
header('HTTP/1.1 404 Not Found');
exit;
}

// Display matching page in a template

然后,您可以在此基础上进行构建。

关于php - 自定义 CMS,漂亮的永久链接,如商业 CMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8457908/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com