Anpassen einer PHP-Funktion, sodass der Link in Form von: - '/ widgets? Pg = 2' anstelle von 'products.php? Cat = 20 & pg = 2' angezeigt wird
Ich habe die folgende .htaccess-Regel hinzugefügt: -
RewriteRule ^widgets$ products.php?cat=20 [QSA]
Jetzt habe ich einen einfachen Link namens "Widgets", der zur ersten Seite der Kategorie "Widgets" führt. Die Links zur 2. Seite sehen jedoch folgendermaßen aus: -
products.php?cat=20&pg=2
Was ich möchte, ist, dass die folgenden Seiten eher in Form von: -
widgets?pg=2
Das QSA-Flag in der obigen .htaccess-Regel erreicht dies, aber ich muss die Funktion ändern, die diese Seitenlinks generiert, andernfalls ist die einzige Möglichkeit, an @ zu gelangewidgets?pg=2
wird in die Adressleiste des Browsers eingegeben als: -mywebsite.com/widgets?pg=2
.
Ich denke, die folgende PHP-Funktion muss möglicherweise angepasst werden, um das gewünschte Ergebnis zu erzielen. Können Ihnen PHP-Assistenten oder Personen mit entsprechenden Kenntnissen dabei helfen? Der Grund, warum ich dies tun möchte, ist, dass Google die einfach aussehenden Seiten indiziert und nicht die längeren: -
function writepagebar($CurPage,$iNumPages,$sprev,$snext,$sLink,$nofirstpage){
$startPage = max(1,round(floor((double)$CurPage/10.0)*10));
$endPage = min($iNumPages,round(floor((double)$CurPage/10.0)*10)+10);
if($CurPage > 1)
$sStr = $sLink . '1' . '" rel="prev"><span style="font-family:Verdana;font-weight:bold">«</span></a> ' . $sLink . ($CurPage-1) . '">'.$sprev.'</a> | ';
else
$sStr = '<span style="font-family:Verdana;font-weight:bold">«</span> '.$sprev.' | ';
for($i=$startPage;$i <= $endPage; $i++){
if($i==$CurPage)
$sStr .= '<span class="currpage">' . $i . '</span> | ';
else{
$sStr .= $sLink . $i . '">';
if($i==$startPage && $i > 1) $sStr .= '...';
$sStr .= $i;
if($i==$endPage && $i < $iNumPages) $sStr .= '...';
$sStr .= '</a> | ';
}
}
if($CurPage < $iNumPages)
$sStr .= $sLink . ($CurPage+1) . '" rel="next">'.$snext.'</a> ' . $sLink . $iNumPages . '"><span style="font-family:Verdana;font-weight:bold">»</span></a>';
else
$sStr .= ' '.$snext.' <span style="font-family:Verdana;font-weight:bold">»</span>';
if($nofirstpage) $sStr = str_replace(array('&pg=1"','?pg=1"'),'" rel="start"',$sStr);
return($sStr);
}
Wenn es hilfreich ist zu wissen, wie die writepagebar-Funktion in die incproducts.php passt, die sich auf der products.php-Seite befindet, sehen Sie hier: -