Ошибка абсолютных внешних ссылок, URL текущей страницы добавлен в начале URL-адреса

#wordpress #url #absolute-path

#wordpress #url #абсолютный путь

Вопрос:

У меня очень странное поведение внешних ссылок на этой странице:

https://dev.switchonpaper.site/en/daniel-g-andujar-the-artist-as-a-thinker-and-augur-of-what-happens/

Существует список внешних ссылок, видимых при нажатии на «Перейти глубже».
В некоторых ссылках адрес текущей страницы добавляется в начале внешней ссылки.

Например: iSAM ™ (1997)
Например: Коллекция фотографий TTTP — 1997

Все внешние ссылки являются абсолютными ссылками.
Когда вы смотрите на исходный код, ссылки правильные.
Этот сайт работает под управлением WordPress, ссылки содержатся в блоке Gutenberg, построенном с помощью плагина ACF.

Я протестировал следующие вещи:

  • Отключите все плагины. Браузер или что-то еще продолжает добавлять адрес текущей страницы только для некоторых ссылок.
  • Я очистил кэш сервера, удалил все правила .htaccess, кроме части wordpress.
  • Я убедился, что PHP-файл, который записывает эти ссылки, находится в UTF-8.
  • При повторном создании ссылок страдают всегда одни и те же.

У кого-нибудь есть идеи, что может вызвать это?
Спасибо за ваше время и помощь!

Ответ №1:

У вас есть так называемые «скрытые символы» перед началом ссылки. Я предлагаю вам проверить это самостоятельно с помощью какого-нибудь онлайн-инструмента, подобного этому: https://www.soscisurvey.de/tools/view-chars.php . Если вы попытаетесь вставить туда ссылку, скопированную вашим исходным кодом, вы увидите, что у вас есть скрытые данные перед «https: …»

Скрытый символ

Решение этой проблемы заключается в том, что вы удаляете все символы и пишете их заново самостоятельно, без копирования / вставки их из другого источника или, в качестве альтернативы, вставляете их в какой-либо текстовый редактор, отличный от HTML, прежде чем вставлять их на свой сайт

Комментарии:

1. Большое спасибо, Диего, за объяснение! Я трачу на это почти 4 часа:/ . И по какой-то причине специальный символ был привязан к H «http», поэтому, просто удалив и переписав его, это сработало!