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

  1. Im Backend zu “AddOns” > “YRewrite” > “Setup” navigieren
  2. Die Option “htaccess-Datei neu setzen” ausführen

Variante 2: YRewrite reinstallieren

  1. Im Backend zu “AddOns” > “YRewrite” navigieren
  2. AddOn deinstallieren
  3. AddOn erneut installieren

Variante 3: Per Konsole

php redaxo/bin/console yrewrite:htaccess

Warum passiert das?

Bei einem REDAXO-Update kann es vorkommen, dass:

  1. Die .htaccess-Regeln für den Media-Manager nicht mehr aktuell sind
  2. Die Rewrite-Regeln für Medien-URLs nicht mehr funktionieren
  3. 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:

  1. ✓ Cache leeren
  2. ✓ YRewrite .htaccess neu setzen (falls installiert)
  3. ✓ Medienpool-Thumbnails prüfen
  4. ✓ Frontend-Seiten stichprobenartig testen