我搜索了其他帖子但找不到解决方案,我认为它是索引上的url结构 这是一个来自数据库的列表,其中包含指向详细信息页面的链接(ad-details.php)。
package:
这是我的.htaccess文件:
<div class="col-md-4">
<?php
if($result = $link->query("SELECT * FROM ads WHERE ad_status = '1' AND
ad_type = 'Accomodation' LIMIT 10")){
if($result->num_rows > 0){
echo "<ul class='list-group'>";
while($row = $result->fetch_object()){
$amount = $row->ad_price;
$famount = number_format($amount);
echo "<li class='list-group-item'>"."<a class='active' href='ad-details.php?id=" .
$row->ad_id ."&title=".$row->url. "'>" .'<b>'.$row-> ad_title.'</b>'.
"</a>" ."<br>".$row->ad_town . ", " .$row->ad_state."." .
"<span class='badge'> ₦ $famount </span>" ."</li>";
}
echo "</ul>";
}
else{
echo "<p style='color:red;''>No Data to be Displayed!</p>";
}
}else{
echo "An error has occurred";
}
?>
</div>
答案 0 :(得分:0)
您的重写规则使用此正则表达式来匹配要重写的URL:
^ad/([0-9]+)/([a-zA-Z]+)\.php$
它不会匹配包含“ - ”的网址,并且需要包含仅限数字目录的目录结构。这似乎不是你想要匹配的东西。这将匹配类似于以下格式的网址:
您可能希望更接近此内容以匹配ad-details.php
页面:
^ad-[a-zA-Z0-9]\.php$
如果您尝试匹配的网页列表包含破折号,那么您也可以在正则表达式模式中包含该网页:
^ad-[a-zA-Z0-9-]\.php$