我正在我的站点上编写自己的新闻文章部分,并将每篇文章存储在 mysql 数据库中。每篇文章都有一个唯一的 ID、一个标题、主体,并且由于 jquery 插件,它是自己的 url 友好的 slug。
但是,我不确定在链接到 slug 时到底如何获取文章。
如何获取:
www.site.com/news/nice-looking-title/
像这样工作:
www.site.com/news/index.php?id=1
这样我就可以使用 SQL 从 MySQL 表中获取记录,例如:
tbl_news:
news_id
news_title
news_slug
news_body
news_date
.htacccess 是否参与其中?
一如既往,非常感谢所有帮助! :)
保罗
最佳答案
好的,这就是我必须做的来解决这个问题。有点 hacky,但它有效。
拥有 RewriteRule (.*)/news/index.php 会导致网站上出现无限循环,就像在新闻目录中拥有 php 页面一样。所以我不得不将链接发送到不同的目录名称,并将它们重写到实际目录。
.htaccess
RewriteCond %{REQUEST_URI} /guild-news
RewriteRule guild-news/(.*)/ news/news-item.php?slug=$1
RewriteRule guild-news/(.*) news/news-item.php?slug=$1
PHP
$slug=$_GET['slug'];
$newsSQL = "SELECT *, DATE_FORMAT(news_date, '%W, %D %M, %Y') news_date_f FROM tbl_news WHERE news_slug = '".$slug."' AND news_visible=1";
$result = mysql_query($newsSQL, $conn) or die(mysql_error());
所以可能不是有史以来最好的代码,但它确实可以很好地满足我的需求:)
关于php - 使用 slug 从 mysql 中获取文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2417800/