[英].htaccess file doesn't rewrite url and remains the same
我搜索过其他帖子但找不到解决方案,我认为它是索引上的url结构这是一个数据库列表,其中包含指向详细信息页面的链接(ad-details.php)。
<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>
这是我的.htaccess文件:
RewriteEngine On
RewriteRule ^ad/([0-9]+)/([a-zA-Z]+)\.php$ /ad-details.php?id=$1&title=$2
[L]
您的重写规则使用此正则表达式来匹配要重写的URL:
^ad/([0-9]+)/([a-zA-Z]+)\.php$
它不匹配包含“ - ”的URL,并且需要包含仅数字目录的目录结构。 这似乎不是你想要匹配的东西。 这将匹配类似此格式的网址:
您可能希望更接近此内容以匹配ad-details.php
页面:
^ad-[a-zA-Z0-9]\.php$
如果您尝试匹配的页面列表包含破折号,您可以在正则表达式模式中包括:
^ad-[a-zA-Z0-9-]\.php$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.