Fehlerbeschreibung
Die Startseite von Magento lässt sich laden, aber viele oder alle Unterseiten, darunter Produkt- und Kategorie-Links, führen zu einem Fehler.
Ursachen und Lösungen
Magento-Testumgebung mit Beispieldaten
- Wenn Sie eine Magento-Testumgebung mit Beispieldaten einrichten, werden die Produkt- und Kategorie-Links nicht sofort funktionieren. Das Problem kann durch Neuindizierung behoben werden. Gehen Sie zu System > Index-Verwaltung und Klicken Sie dort auf Neuaufbau in der Zeile „Katalog URL Rewrites“. Danach sollten alle Links im Magento-Shop mit Beispieldaten funktionieren.
Typische Flüchtigkeitsfehler
- Ist die .htaccess im Hauptverzeichnis von Magento vorhanden? Hin und wieder gibt es Situationen, in den versteckte Dateien beim Komprimieren des Verzeichnisses nicht berücksichtigt werden. Folglich sind sie nach dem Enpacken nicht vorhanden.
- Wurde die .htaccess umbenannt? Die Datei muss mit einem Punkt beginnen und in Kleinbuchstaben geschrieben sein.
Konfiguration von Apache
Nach dem Umzug in eine neue Serverumgebung kann es sein, dass die symbolische Links von Magento nicht mehr funktionieren. Dies hängt oft mit der Konfiguration von Apache zusammen.
In der Standardkonfiguration von Apache in Ubuntu Server 10.04 LTS ist die Unterstützung von .htaccess über AllowOverride None deaktiviert. Zusätzlich ist das Apache-Modul mod_rewrite standardmäßig nicht geladen.
- Ist die Verwendung von .htaccess erlaubt? Bei Ubuntu Server 10.04 LTS befindet sich die betroffene Konfigurationsdatei von Apache unter /etc/apache2/sites-available/default:
<Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>
Vorausgesetzt Ihre Magento-Installation befindet sich im Verzeichnis /var/www/ (oder einem Unterverzeichnis), wird die Nutzung von .htaccess mit dem zweiten Befehl AllowOverride None verboten. Ändern Sie die entsprechende Zeile zu AllowOverride All:
<Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
Starten Sie Apache z. B. mit /etc/init.d/apache2 restart neu, um die geänderte Konfiguration zu laden.
- Ist der Apache-Modul rewrite aktiviert? In diesem Fall sind weitere Informationen in der Ausgabe von phpinfo() auffindbar: STRG+F nach mod_rewrite. Versuchen Sie andernfalls das Modul mit a2enmod zu aktivieren und Apache neu zustarten:
a2enmod rewrite /etc/init.d/apache2 restart