php - 使用 PHP 和 MySQL 重写 htaccess URL
问题描述
我的问题是:我怎样才能显示它http://localhost/jakir1/banner2/test.php/title-3而不是http://localhost/jakir1/banner2/test.php?slug=title-3
当我点击
- 标题 1
- 标题 2
- 标题 3
其显示的输出
这是我的代码:
<table border="1">
<tr>
<td>
Product Name
</td>
<td>
Description
</td>
</tr>
<?php $sql = "SELECT * FROM marchant_item ORDER BY id DESC";
$display = mysqli_query($db, $sql);
while ($row = mysqli_fetch_array($display)) { ?>
<tr>
<td><a href="test.php?slug=<?php echo $row['slug']; ?>"><?php echo $row['item_name']; ?></a></td>
<td>
<?php echo $row['description']; ?>
</td>
</tr>
<?php }
?>
</table>
<?php
if (isset($_GET['slug'])) {
$data = $_GET['slug'];
?>
<table border="1">
<tr>
<td>
Product Name
</td>
<td>
category
</td>
</tr>
<?php $sql = "SELECT * FROM marchant_item WHERE slug ='$data'";
$display = mysqli_query($db, $sql);
while ($row = mysqli_fetch_array($display)) { ?>
<tr>
<td><?php echo $row['item_name']; ?></td>
<td>
<?php echo $row['category']; ?>
</td>
</tr>
<?php }
?>
</table>
<?php
}
?>
解决方案
在你的 .htaccess 文件中写下这一行—— RewriteRule ^test/([A-Za-z0-9-]+)?$ test.php?slug=$1 [NC]
更新您的代码
<td><a href="test/<?php echo $row['slug']; ?>"><?php echo $row['item_name']; ?></a></td>
推荐阅读
- intellij-idea - ScalaTestWithActorTestKit 未找到
- php - 我正在尝试向 url 添加一些不同的 GET 变量
- javascript - 如何从一个输入字段收集所有输入
- python - 如何在 Flask 蓝图中 mock.patch 一个函数?
- javascript - 从 React App 中删除未使用的 materialize-css 和 js 代码以提高效率
- python - 使用良好 XML 中缺少的特定元素更新 XML
- c# - asp net core项目中的targetframeworks冲突
- google-bigquery - 致命标志解析错误:未知的命令行标志“hive_partitioning_source_uri_prefix”
- mysql - 从 MySQL 数据库中提取约会并在 MonthlyCalendar 中显示其详细信息
- c++ - 仅在大型数组上出现合并排序分段错误