Привет, ребята, вижу, что проблема с косой чертой в конце снова дала о себе знать ![]()
[Косые черты в конце] — это, похоже, основная проблема. При использовании встраивания комментариев Discourse на другом сайте через JavaScript вы управляете этим через параметр, исправить это очень просто.
Просто для справки: при встраивании тем в Discourse косые черты в конце удаляются из embed_url; см. TopicEmbed.normalize_url. В результате отдельного случая, связанного с пересечением встраивания через JavaScript и встраивания через WP Discourse, мы унифицировали эту обработку для обоих методов встраивания. См. Apply TopicEmbed url normalisation to embed urls inserted in the PostCreator by angusmcleod · Pull Request #30641 · discourse/discourse · GitHub
@Thiago_Mobilon В ходе этого переезда вы также обновили свой Discourse? Возможно, мы наблюдаем применение унификации нормализации embed_url к встраиванию через WP Discourse здесь из-за обновления вашего Discourse, которое произошло одновременно с переездом на установку в подпапку. Какую версию Discourse вы сейчас используете? (и какую версию вы использовали до переезда, если знаете?)
Кстати, когда я запускаю эти две команды локально на последней версии Discourse, я получаю тот же результат, а именно HTML-тело статьи:
# с косой чертой в конце
TopicEmbed.find_remote("https://tecnoblog.net/noticias/governo-renova-app-da-cnh-para-baratear-obtencao-do-documento/")
# без косой черты в конце
TopicEmbed.find_remote("https://tecnoblog.net/noticias/governo-renova-app-da-cnh-para-baratear-obtencao-do-documento")
# результат одинаковый
Возможно, вы внесли какие-то изменения на стороне WordPress?
** редактирование: А, перечитав эту тему чуть внимательнее, я вижу, что ваша проблема, возможно, связана не с переездом Discourse в подпапку или с косыми чертами в конце, а с миграцией ваших URL-адресов WordPress, то есть:
Например, в этом посте URL-адрес раньше был таким:
https://tecnoblog.net/486925/o-que-e-pirataria-digital/
Теперь он изменился на:
Так что, возможно, проблема в том, что у вас в topic_embeds.embed_url хранится старая структура URL-адресов, а FinalDestination по какой-то причине не может разрешить новые URL-адреса (например, не может следовать за перенаправлением).
В этом случае вам либо нужно убедиться, что ваши старые URL-адреса блога перенаправляются на новые, либо вам нужно мигрировать topic_embeds.embed_url. Что касается миграции, обратите внимание, что ваш скрипт неверен, например, topic.custom_fields["embed_url"] — это не то место, где хранится embed_url.
Вот что я бы предложил, если вы хотите пойти по пути миграции (вместо перенаправления старых URL-адресов блога на новые). Сначала подтвердите, что проблема заключается в неверном формате URL-адреса блога в topic_embeds.embed_url, посмотрев на пример, например, TopicEmbed.find_by(topic_id: 157441). Затем, если вы увидите, что проблема действительно в том, что в этом столбце сохранен старый формат URL-адресов, выполните это для обновления всех embed_url старого формата в определенной категории:
category_id = # введите здесь id категории
TopicEmbed.joins(:topic).where(topics: { category_id: category_id }).find_each do |embed|
new_url = embed.embed_url.sub(%r{/\d+/}, "/responde/")
embed.update!(embed_url: new_url) if new_url != embed.embed_url
end
Обратите внимание, что замена регулярным выражением старого формата на новый (sub(%r{/\d+/}, "/responde/")) — это лишь предположение, основанное на предоставленном вами примере. Вы можете протестировать эффект этого на ваших реальных URL-адресах здесь: https://regex101.com/