Продолжаем обсуждение из темы Кнопка «Показать полный пост» не работает при установке в подпапке:
@angus отметил, что Discourse удаляет завершающий слэш в конце URL встраивания, чтобы избежать некоторых конфликтов.
Теперь https://domain.com/path-to-url/ сохраняется как https://domain.com/path-to-url.
На мой взгляд, это приводит к ещё большим несоответствиям. Если я пытаюсь проверить API, чтобы получить ID темы по URL встраивания, я не могу её найти из-за завершающего слэша. Discourse возвращает страницу 404.
Но если я убираю завершающий слэш, он возвращает значение:
mobilon@Thiagos-MacBook-Pro ~ % curl 'https://tecnoblog.net/comunidade/embed/info?embed_url=https://tecnoblog.net/noticias/anatel-e-receita-apreendem-quase-meio-milhao-de-produtos-em-santa-catarina/' -H 'API-KEY: <API KEY>' -H 'API-USERNAME: <USERNAME>'
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<title>Страница не найдена - Tecnoblog Сообщество</title>
</head>
<body>
...
</body>
</html>
mobilon@Thiagos-MacBook-Pro ~ % curl 'https://tecnoblog.net/comunidade/embed/info?embed_url=https://tecnoblog.net/noticias/anatel-e-receita-apreendem-quase-meio-milhao-de-produtos-em-santa-catarina' -H 'API-KEY: <API KEY>' -H 'API-USERNAME: <USERNAME>'
{"topic_id":157645,"post_id":484103,"topic_slug":"anatel-e-receita-apreendem-quase-meio-milhao-de-produtos-em-santa-catarina-tecnoblog","comment_count":15}%
Чтобы найти правильную тему, мне пришлось бы использовать str_replace в WordPress, чтобы удалить завершающий слэш из постоянных ссылок перед проверкой API. Это бессмысленно, поскольку канонический URL на самом деле содержит завершающий слэш…
Другими словами, получается, что Discourse нормализует постоянную ссылку к URL, которого не существует.