gpt4 book ai didi

php - SEO 友好的 URLs - 从 blog.php?articleId=26 到 blog/$articleTitle

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:33:47 27 4
gpt4 key购买 nike

在最终让我的代码向我的数据库发布一个 URL 友好的标题(供以后用作 SEO 优化的 URL)之后,我现在正在研究如何让我的博客脚本接受所述 URL。

理想情况下,我希望我的 URLS 以类似于堆栈溢出的方式出现。

目前我的网址是这样的:

blog.php?action=viewArticle&articleId=26

我希望它看起来像这样:

/blog/responsive-layout-design/

我已经整理出脚本的一侧 - 创建新 URL 的一侧,并将其保存在数据库中,但我正在努力弄清楚如何在前端实现它。

我看过一些指南和例子,但它们只展示了如何创建一个 URL,例如:

store.php?action=viewItem&itemID=34 to store/item/34

显然,我可以用我的 URL 很容易地做到这一点,但它仍然只会显示文章 ID,而不是文章标题。

这是我当前通过 ID 从数据库中提取文章的代码 - 如何修改它以获得我正在寻找的功能?

function viewArticle() { 
if ( !isset($_GET["articleId"]) || !$_GET["articleId"] ) { homepage(); return; }
$results = array();
$results['article'] = Article::getById( (int)$_GET["articleId"] );
$results['pageTitle'] = $results['article']->title . " | Blog";
require( TEMPLATE_PATH . "/viewArticle.php" );
}

最佳答案

我一直采用的方法是在数据库中设置 URL slug。

因此您将存储如下内容:

tblBlog
blogID | blogTitle | blogContent | blogURLSlug

然后您将使用 .htaccess 设置漂亮的 URL

RewriteRule   ^/(blog)/(.*)/$   /blog.php?slug=$2

选择页面内容时,选择使用 URLSlug 代替

$stmt = $dbh->prepare("SELECT `blogTitle`, `blogContent` FROM `tblBlog` WHERE `blogURLSlug` = :slug");
$stmt->bindParam(':slug', $_GET['slug']);
$stmt->execute();
$blogData = $stmt->fetch();

通过这种方式,您可以访问 /blog/RWD-is-cool/,它将从数据库中选择 URLSlug = RWD-is-cool

关于php - SEO 友好的 URLs - 从 blog.php?articleId=26 到 blog/$articleTitle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20162783/

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