diff --git a/typo3/sysext/frontend/Classes/ContentObject/ImageContentObject.php b/typo3/sysext/frontend/Classes/ContentObject/ImageContentObject.php index 5179b08b8364890d4d5abf99844d705473759220..567f25e610a6eab5c21a8cb5bb358c370772f44b 100644 --- a/typo3/sysext/frontend/Classes/ContentObject/ImageContentObject.php +++ b/typo3/sysext/frontend/Classes/ContentObject/ImageContentObject.php @@ -214,14 +214,17 @@ class ImageContentObject extends AbstractContentObject $sourceConfiguration['height'] = $sourceInfo[1]; $urlPrefix = ''; + $publicUrl = str_starts_with($sourceInfo[3], Environment::getPublicPath()) + ? PathUtility::stripPathSitePrefix($sourceInfo[3]) + : $sourceInfo[3]; // Prepend 'absRefPrefix' to file path only if file was not processed // by FAL, e.g. GIFBUILDER - if (!isset($sourceInfo['originalFile']) && is_file(Environment::getPublicPath() . '/' . $sourceInfo['3'])) { + if (!isset($sourceInfo['originalFile']) && is_file(Environment::getPublicPath() . '/' . $publicUrl)) { $urlPrefix = $tsfe->absRefPrefix; } - $sourceConfiguration['src'] = htmlspecialchars($urlPrefix . $sourceInfo[3]); + $sourceConfiguration['src'] = htmlspecialchars($urlPrefix . $publicUrl); $sourceConfiguration['selfClosingTagSlash'] = $this->getPageRenderer()->getDocType()->isXmlCompliant() ? ' /' : ''; $oneSourceCollection = $this->markerTemplateService->substituteMarkerArray($sourceLayout, $sourceConfiguration, '###|###', true, true);