Aufgrund der doppelten Inhaltsprobleme im im Versuch, eine Reihe von regulären Ausdrücken zu erstellen, in kanonischen Tag (in PHP) verwendet werden.PHP Regex: Entfernen von Teilen der URL für kanonische Tag Verwendung
Mein Kopf ist dynamisch und die kanonische URL wird derzeit auf
<link rel="canonical" href="'. BASEHREF . $_SERVER['REQUEST_URI'].'" />
besser verdeutlichen sollen, was im zu erreichen versuchen, ich werde einige Beispiele. (Die Ziffern sind Seitenzahlen). Zum Beispiel
example.com/cars/1,2,etc canonical url points -> example.com (home page)
example.com/car/nissan canonical url points -> example.com (home page)
example.com/new-phones/1,2,3etc canonical url points -> example.com/new-phones/
So im Wesentlichen, wenn die URL, die Worte Autos enthält, Auto + Ziffer oder Wort, ich will, dass Seite kanonische URL zur Homepage zeigen, und wenn die URL enthält/neu-Telefone/+ eine Zahl, die auf das übergeordnete Verzeichnis verweist.
hier ist der Code, den ich bisher habe, der nur die Seitenzahl von der kanonischen URL entfernt.
$url = BASEHREF.$_SERVER['REQUEST_URI'];
$parts = parse_url($url);
$scheme = $parts['scheme'];
$host = $parts['host'];
$path = $parts['path'];
$items = preg_split('/\//',$path,null,PREG_SPLIT_NO_EMPTY);
$thepage = $items[0];
$pagenumber = $items[1];
$canonical_url = ($pagenumber = '') ? $url : $scheme.'://'.$host.'/'.$thepage;
Ich bin sicher, dass ich , wenn die Bedingungen aber im nicht gut in regex verwenden. Vielen Dank im Voraus.
Ich laufe Nginx-Server – Skeptic