Хорошо, я пытался выяснить это в течение 3 дней, но я не могу понять это правильно. Я пытаюсь условно повторить сегмент URL (номер страницы), только если этот сегмент действительно существует для конкретной веб-страницы. В частности, я имею дело с каноническим тегом в моем шаблоне заголовка.
ПРЕДПОСЫЛКИ:
Мой текущий код выводит страницы каталога на страницы по желанию, например, так:
https://www.example.com/subjects/apples/2
https://www.example.com/subjects/apples/3
https://www.example.com/subjects/apples/4
etc.
Он отображает домашние страницы каталога как НЕ желаемые, например:
https://www.example.com/subjects/apples/
ЧТО ДОЛЖНО БЫТЬ ОДНОВРЕМЕННЫМ:
URL-адреса страниц с разбивкой по страницам НЕ заканчиваются на forward sla sh, что хорошо.
ЧТО ДОЛЖНО ИЗМЕНИТЬСЯ:
Домашние страницы каталога ДОЛЖНЫ заканчиваться прямым sla sh, что плохо.
СУЩЕСТВУЮЩИЙ КОД:
<link rel="canonical" href="<?php echo $this->config->item("base_url");?><?php echo $category_in_url;?>/<?php echo $this->uri->segment(2);?>" />
ЖЕЛАЕМЫЙ РЕЗУЛЬТАТ:
Домашние страницы каталогов НЕ ДОЛЖНЫ заканчиваться впереди sh. Чтобы не оставлять за сиротами переадресацию sh в конце URL-адресов домашней страницы каталога, ваш новый код будет отображать
/<?php echo $this->uri->segment(2);?>
только в сегменте 2 (т. Е. Номер страницы из 2+) фактически существует для конкретной веб-страницы. Страницы 0 и 1 не получают номер страницы в URL. Итак, начиная со страницы 2, мне нужно повторить эту часть. Страницы каталогов с нумерацией страниц должны выглядеть так:
https://www.example.com/subjects/apples/4
Домашние страницы каталогов должны выглядеть следующим образом:
https://www.example.com/subjects/apples
ПРИМЕЧАНИЕ. Ваше решение должно работать с моим существующим кодом, не нарушая PHP.
Заранее благодарим за вашу благодарную помощь!
Джейсон