@BLM21

Почему в конце og:url для главной добавляется в конце два слэша?

Приветствую вас, уважаемые знатоки.

Сайт на MODX. Текущая версия: 2.8.3-pl
Только недавно обратил внимание, заглянув в исходный код страницы, что в разметке добавлено два слэша в конце главной. Не знаю, куда копать, чтобы это исправить.

Вот такая штука в исходном коде страницы:
<meta property="og:url" content= "https://mysite.com//">


В чанке head стоит так:
<meta property="og:url" content= "[[++site_url]][[~[[*id]]]]">


Откуда берётся два слэша, не ясно. НЕ главные страницы сайта в этом же og:url в конце без слэша, и после домена у них тоже двух слэшей нет. А вот исходный код главной страницы с такой бедой.

Кто мог бы навести на мысль, где собака зарыта?

Пока никто не смог ответить, заметил. Схема url стоит со значением "-1"
Если поставить любое другое, ерунда совсем получается. Например, если поставить схему "1", в исходном коде
<meta property="og:url" content=https://mysite.com/https://mysite.com/">
  • Вопрос задан
  • 305 просмотров
Решения вопроса 2
alelunegov
@alelunegov
Фрилансер. Разработка сайтов на MODX, верстка
Отвечаю на вопрос: «где собака зарыта?»

[[++site_url]] возвращает строку из системной настройки с ключом site_url, если такая задана. Если не задана, то берет сформированную строку из файла config.inc.php. Вы правильно поняли, что MODX_BASE_URL в Вашем случае (и для большей части сайтов) добавляет в строку слеш на конце.

[[~[[*id]]]] возвращает строку с адресом страницы, сформированном по схеме, указанной в системной настройке с ключом link_tag_scheme. По ссылке можно прочитать про данную настройку. Там не сказано только одного, что у главной страницы обязательно будет слеш. И это правильно, так как при формировании ссылки без доменного имени для главной страницы не считая слеша не остается больше ничего.

Если Вы хотите оставить тот вариант, который есть в Вашем ответе, но еще убрать слеш на конце у главной страницы, то можно сделать такой код:
<link rel="canonical" href="[[++site_url]][[*id:ne=`[[++site_start]]`:then=`[[~[[*id]]]]`]]">
Ответ написан
@BLM21 Автор вопроса
По пути core/config в файле config.inc.php изменил этот код
if (!defined('MODX_SITE_URL')) {
    $site_url= $url_scheme . $http_host . MODX_BASE_URL;
    define('MODX_SITE_URL', $site_url);
}


на этот код
if (!defined('MODX_SITE_URL')) {
    $site_url= $url_scheme . $http_host;
    define('MODX_SITE_URL', $site_url);
}


Сразу исчез двойной слэш.

Теперь осталось подумать, как сделать, чтобы на конце ссылки КОНКРЕТНО главной страницы не было слэша вообще. На данный момент <link rel="canonical" href="https://mysite.com/">, а я хочу <link rel="canonical" href="https://mysite.com">
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы