Vorschaubilder im Medienpool fehlen nach Update
Quell-ID: GitHub Discussion #24
Use Case
Nach einem REDAXO-Update werden im Medienpool keine Vorschaubilder (Thumbnails) mehr angezeigt.
Verwendete AddOns
- REDAXO Core
- YRewrite
Problemstellung
Die Vorschaubilder im Medienpool werden als “broken images” angezeigt oder fehlen komplett.
Lösung
Wenn YRewrite installiert ist, muss nach einem Update die .htaccess-Datei neu generiert werden:
Variante 1: Über das YRewrite-Setup
- Im Backend zu “AddOns” > “YRewrite” > “Setup” navigieren
- Die Option “htaccess-Datei neu setzen” ausführen
Variante 2: YRewrite reinstallieren
- Im Backend zu “AddOns” > “YRewrite” navigieren
- AddOn deinstallieren
- AddOn erneut installieren
Variante 3: Per Konsole
php redaxo/bin/console yrewrite:htaccess
Warum passiert das?
Bei einem REDAXO-Update kann es vorkommen, dass:
- Die
.htaccess-Regeln für den Media-Manager nicht mehr aktuell sind - Die Rewrite-Regeln für Medien-URLs nicht mehr funktionieren
- Der Pfad zu den Vorschaubildern sich geändert hat
Weitere mögliche Ursachen
Cache leeren
# Per Konsole
php redaxo/bin/console cache:clear
# Oder im Backend: System > Cache löschen
Media-Manager-Cache leeren
// Im project-AddOn oder als Einmal-Script
rex_dir::delete(rex_path::addonCache('media_manager'));
Dateiberechtigungen prüfen
# Berechtigungen für media-Ordner setzen
chmod -R 755 /var/www/html/media/
chown -R www-data:www-data /var/www/html/media/
Besserer Ansatz: Systematische Fehlersuche
<?php
// Diagnose-Script (in redaxo/src/addons/project/pages/diagnose.php)
echo '<h2>Medienpool-Diagnose</h2>';
// 1. Prüfen ob Media-Ordner existiert
$mediaPath = rex_path::media();
echo '<p>Media-Ordner: ' . ($mediaPath ? '✓' : '✗') . ' ' . $mediaPath . '</p>';
// 2. Prüfen ob beschreibbar
echo '<p>Beschreibbar: ' . (is_writable($mediaPath) ? '✓' : '✗') . '</p>';
// 3. Prüfen ob .htaccess existiert
$htaccess = rex_path::base('.htaccess');
echo '<p>.htaccess: ' . (file_exists($htaccess) ? '✓ vorhanden' : '✗ fehlt') . '</p>';
// 4. YRewrite-Status
if (rex_addon::get('yrewrite')->isAvailable()) {
echo '<p>YRewrite: ✓ aktiv</p>';
} else {
echo '<p>YRewrite: nicht installiert</p>';
}
// 5. Test-Bild prüfen
$testMedia = rex_media::get('test.jpg'); // Anpassen
if ($testMedia) {
$thumbUrl = rex_media_manager::getUrl('rex_media_small', $testMedia->getFileName());
echo '<p>Test-Thumbnail-URL: <a href="' . $thumbUrl . '" target="_blank">' . $thumbUrl . '</a></p>';
}
Präventive Maßnahme
Nach jedem REDAXO-Update folgende Checkliste durchgehen:
- ✓ Cache leeren
- ✓ YRewrite
.htaccessneu setzen (falls installiert) - ✓ Medienpool-Thumbnails prüfen
- ✓ Frontend-Seiten stichprobenartig testen