- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在最终让我的代码向我的数据库发布一个 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/
假设我有以下两个表 CREATE TABLE `articles` ( `id` int(11) NOT NULL AUTO_INCREMENT, `artId` int(11) NOT NULL
我有 2 个文章和评论集合,我想在创建新评论时将 articleID 添加到评论集合中。跟UserID自动进去的方法一样。 comment.client.controller.js // Create
在最终让我的代码向我的数据库发布一个 URL 友好的标题(供以后用作 SEO 优化的 URL)之后,我现在正在研究如何让我的博客脚本接受所述 URL。 理想情况下,我希望我的 URLS 以类似于堆栈溢
我是一名优秀的程序员,十分优秀!