Здравствуйте,
У нас возникла проблема: изображения с относительными ссылками, встроенные в формате <img src="/link/to/image.jpg" /> из Drupal, не загружаются после публикации в качестве тем на Discourse. Я думаю, это происходит потому, что они ссылаются через HTTP из переменной discourseEmbedUrl, тогда как наш сервер отдает весь контент по HTTPS, что приводит к ошибке отображения изображений. Проблема решается, если изменить ссылку в инструментах разработчика, например, с HTTP на HTTPS.
Краткая версия: Возможно ли заставить Discourse использовать переменную discourseUrl для встраивания изображений вместо discourseEmbedUrl?
Ниже приведено более подробное объяснение того, как мы пришли к такой конфигурации:
Короче говоря, все темы, созданные до перехода на HTTPS, использовали HTTP-ссылки как источник темы. Поэтому при переходе нам нужно было, чтобы переменная discourseEmbedUrl продолжала использовать HTTP-ссылки, иначе создавались бы дубликаты HTTPS-статей с использованием нового HTTPS-URL источника темы.
Извините за длинное объяснение; возможно ли использовать для встроенных изображений другую переменную, отличную от URL источника, в подобных случаях? Похоже, что у нас сейчас есть только два варианта:
Использовать ту же переменную discourseEmbedUrl (HTTP) для изображений, что и для URL источника темы, что приводит к неработающим изображениям (так как они, кажется, не передаются корректно по HTTP внутри встроенного контента).
Изменить переменную discourseEmbedUrl на HTTPS, чтобы изображения работали, но при этом создавать дубликат темы каждый раз, когда посетитель выполняет код встраивания (из-за использования другого discourseEmbedUrl, чем URL источника соответствующей темы).
Я могу предоставить дополнительную информацию, если потребуется — дайте знать!
Думаю, вам нужно исправить эти URL-адреса тем. Предполагая, что оба сайта теперь используют HTTPS, вы не хотите, чтобы какие-либо данные ссылались обратно на небезопасные объекты.
Есть ли способ массово изменить все HTTP-ссылки на HTTPS? У нас более 8000 статей… Вероятно, не все имеют соответствующие темы, но всё равно это была бы огромная задача, если бы не было способа автоматизировать процесс.
URL-адреса тем успешно перенаправляют посетителей на правильную страницу благодаря настройкам сервера, поэтому они в настоящее время работают хорошо. Единственная проблема, с которой мы сталкиваемся, — это проблема с изображениями.
Могу ли я настроить это так, чтобы для изображений не использовалась переменная discourseEmbedUrl, а вместо неё использовалась переменная discourseUrl (или какая-либо другая переменная, которую я могу установить на HTTPS-ссылку)?