Из-за повторяющихся проблем с содержимым im, пытающихся создать ряд регулярных выражений, которые будут использоваться в каноническом теге (в php).Php Regex: Удаление частей URL для использования канонических тегов
Мой заголовок является динамическим и канонический URL в настоящее время устанавливается в
<link rel="canonical" href="'. BASEHREF . $_SERVER['REQUEST_URI'].'" />
Чтобы demostrate лучше, что им пытаются достичь я дам несколько примеров. (Цифры являются номера страниц). Например
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/
Так по существу, когда URL содержит слово автомобили, автомобиль + цифру или слово, я хочу, чтобы страница канонического URL, чтобы указать на главную страницу, и когда URL содержит/новые-телефоны/+ число, указывающее на родительский каталог.
вот код, который у меня есть до сих пор, который удаляет только номер страницы из канонического url.
$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;
Я уверен, что я должен использовать если условия, но им не хорошо в регулярных выражениях. Спасибо заранее.
Я запускаю сервер nginx – Skeptic