我有一个小型PHP网站,我使用.htaccess重写一些网址。
到目前为止,我已从链接和example.com/page.php中删除了.php格式,现在它是带有此代码的example.com/page。它工作得很好。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
现在我正在努力实现不同的目标。
我有一个news.php和news-view.php页面。 页面news.php显示预告片新闻列表。我用循环和mysql从数据库中获取数据。这很好。之后,我在新闻标题,图像上有链接,并从数据库行传递id。
以下是代码:
<?php
$query = "SELECT * FROM news";
$result = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($result)) {
$id = $row['id'];
$title = $row['title'];
$image = $row['image'];
$body = $row['body'];
echo '<li class="news-article">';
echo '<div class="news-image"><a href="news-view?id=' . $id . '"><img width="400" src="/images/news/' . $image . '"></a></div>';
echo '<div class="news-title"><a href="news-view?id=' . $id .'">' . $title . '</a></div>';
echo '<div class="news-body">' . substr($body, 0, 100) .'...' . '</div>';
echo '</li>';
}
?>
页面news-view.php动态显示来自news.php的传递变量,URL如下:
www.example.com/news-view?id=(id_number_of_the_news)
我的问题是:如何以这种格式设置页面?
www.example.com/news // displays the news list
www.example.com/news/the_title_of_the_news // displays the specific page
我想这可以通过.htaccess完成,但我不知道如何。
我见过很多网站都有相同的网址概念。 显示新闻列表和特定新闻页面的最佳做法是什么?