Ошибка в условных операторах

голоса: 0
При использовании вот такой конструкции   <?if($PAGE_ID$='threadpage')?><link rel="canonical" href="$HOME_PAGE_LINK$<?substr($CUR_THREAD_URL$,1,-len($CUR_THREAD_URL$)+strrpos($CUR_THREAD_URL$,'-')+1)?><?if(strpos(substr($REQUEST_URI$,strpos($REQUEST_URI$,'-')+1),'-')>"-1")?><?if(substr($REQUEST_URI$,strrpos($REQUEST_URI$,'-')+1)>"0")?><?substr($REQUEST_URI$,strrpos($REQUEST_URI$,'-')+1)?><?else?>1<?endif?><?else?>1<?endif?>" /><?endif?><?endif?>  на сайте получается неправильная ссылка.   Например ссылка на страницу /forum/100-113-12, а операторы выдают /forum/100-113-112 (лишняя единица в конце). Помогите пожалуйста исправить ошибку.
| Автор: | Категория: Форум
Изменение категории | | Автор: Yuri_Geruk

Ответов: 1

голоса: 0
 
Лучший ответ

В данном случае условие идеально не настроить так как урл тем всегда будет отличаться и где-то мы исправим, а в  другом месте сломаем. Для форума каноникал не нужно ставить так как ничего с этого не получится.

| Автор:
Выбор ответа лучшим | | Автор: Вячеслав Кодин

При другой настройке у меня выдавал в таком виде //forum/100-113-12 (лишняя дробная черта), хотя по этой ссылке переход был правильным. Насколько это критично? Это для себя на будущее.

Вячеслав Кодин,

Критично, некорректный урл использовать в каноникале точно не нужно. Как говорил выше, оставьте форум без каноникала так как для форума это сложно и нельзя добиться идеала.

Yuri_Geruk,
Понял. Огромное спасибо.
Вячеслав Кодин,

Или же как вариант, попробуйте использовать такой каноникал:

<link rel="canonical" href="$REQUEST_URI$"/>

...