Nach dem Upgrade von Magento 2.1.0 auf Magento 2.1.3 (mit Composer) wird der statische Inhalt nicht mehr geladen. In der Browserkonsole kann ich sehen, dass alle Dateien nicht verfügbar sind (404):
Ich sehe keine Verzeichnisse mit dem Namen version*
im pub
Verzeichnis.
Was ich schon gemacht habe aber es hat nicht geholfen:
- setze alle Berechtigungen auf
777
, aber ohne Erfolg. - Cache gesäubert
- entfernte die
pub/static/*
- Der statische Inhalt wurde einige Male regeneriert
- Die
.htaccess
Datei (impub/static
Verzeichnis) wurde durch die Datei aus einem offiziellen Repository ersetzt.
Noch eine Info:
mod_rewrite
aktiviertFollowSymLinks
ist erlaubt (in der Standard-Host-Konfiguration und lokal.htaccess
)- Diese Konfiguration funktionierte gut mit Magento 2.1.0 vor dem Update auf 2.1.3
pub/static
ist beschreibbar
Irgendwelche Vorschläge?
magento-2.1
magento-2.1.3
404
static-content
Siarhey Uchukhlebau
quelle
quelle
Antworten:
Das Hauptproblem wurde durch die fehlerhafte Umschreibearbeit verursacht (wie @Marius mitteilte). Es gab keine
RewriteBase
in meinem Verzeichnispub/static/
und Apache konnte die Dateien nicht finden, weil im Stammordner nach ihnen gesucht wurde. Nachdem wir hinzugefügt haben:RewriteBase /pub/static
Alles beginnt zu funktionieren.Wie es funktioniert hat:
von dieser Adresse:
Das Umschreiben sollte funktionieren:
Als die Zeile vom Stammordner aus gestartet wurde:
Es hat nicht funktioniert und konnte nicht auf die Datei umleiten, die benötigt wird.
Ohne Basis umschreiben:
Mit Basis neu schreiben:
Hier ein Teil meiner
.htaccess
Datei aus dempub/static
(umschreibt):So deaktivieren Sie die Versionsverwaltung für statische Dateien:
Wenn Sie die Versionsverwaltung für statische Dateien nicht verwenden möchten, können Sie diese Funktion im Magento-Administrationsbereich deaktivieren:
Es ist möglich, diese Einstellung für den Standardbereich mit der folgenden MySQL-Abfrage zu ändern :
Führen Sie dann den nächsten Befehl aus, um einen Konfigurationscache zu löschen:
PS: Meine Antwort ist für die Benutzer von apache2 aktuell. Wenn Sie NGINX verwenden, lesen Sie diese Antwort (von @ kevin-javitz)
quelle
dev/static/sign
in vorhanden ist, fügen Sie es ein.INSERT INTO core_config_data (scope, scope_id, path, value) VALUES ('default', 0, 'dev/static/sign', '0')
sudo a2enmod rewrite
.Wenn Sie Nginx ausführen, finden Sie hier das Update. Sie haben wahrscheinlich Ihre eigene conf-Datei, Sie müssen den / static / Teil damit aktualisieren, sie haben einen Teil davon speziell aktualisiert:
quelle
RewriteRule ^version.+?/(.+)$ $1 [L]
Gehen Sie zur Datenbank und fügen Sie eine Zeile in die Tabelle core_config_data ein:
quelle
version*
Derstatic
Ordner sollte keinen Ordner enthalten.Dies liegt höchstwahrscheinlich daran, dass in Ihrer Instanz mod_rewrite nicht aktiviert ist.
Der Pfad
pub/static/version1234/some/asset.js
sollte neu geschrieben werdenpub/static/some/asset.js
. Das Versionsding gibt es nur für den Cache-Ablauf des Browsers.quelle
mod_rewrite
und es ist aktiviert:[root@web www]# httpd -M | grep "rewrite" rewrite_module (shared) Syntax OK
in der .htaacess ist es auch aktiviertFollowSymLinks
zulässig ist. Dies passierte mir nach der Installation der neuesten Version von Github und ich hatte ein Problem mit dem mod_rewrite und mit den FollowSymLinks.FollowSymLinks
ist festgelegt wieOptions +FollowSymLinks
und es gab kein Problem mit der gleichen Konfiguration vor derIn Version 2.1.3 wird anscheinend davon ausgegangen, dass der Standardwert für "
Stores => Configuration => Developer => Static Files Settings => Sign Static Files
Ja" lautet.Anstatt die Umschreibungen zu ändern, können Sie diese Funktion auf Nein setzen.
Wenn dies vom Administrator aus nicht möglich ist, da der Administrator die Frontend-Assets nicht laden kann, ändern / fügen Sie diese Einstellung in die
core_config_data
Tabelle ein:Dieses Problem wird auch bei Github festgestellt: https://github.com/magento/magento2/issues/7869
quelle
Wenn Sie Apache verwenden. Sie dürfen die .htaccess-Datei nicht aus pub / static löschen. Hier können Sie einen Ersatz bekommen .
quelle
RewriteBase
.