Magento CSS e JavaScript non vengono caricati a causa dell'utilizzo del percorso del file system


29

Non sono stato in grado di installare un modulo utilizzando Magento Connect, ottenendo un Connection Error try again latererrore. Seguendo le istruzioni dello sviluppatore del modulo ho tentato di correggere le autorizzazioni nella radice del documento con:

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod o+w var var/.htaccess app/etc
chmod 550 mage
chmod -R o+w media

Non ha ancora funzionato, quindi ho finito per installare il modulo manualmente. Ho quindi effettuato l'accesso al back-end dell'amministratore e Magento stava provando a servire i file CSS utilizzando i percorsi dei file di sistema anziché gli URL in questo modo:

<link rel="stylesheet" type="text/css" href="/home/user/public_html/js/calendar/calendar-win2k-1.css" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/reset.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/boxes.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/custom.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/xmlconnect/boxes.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/print.css" media="print" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/menu.css" media="screen, projection" />

Ho immediatamente rimosso l'estensione e ho provato a far corrispondere i permessi di un altro server con un Magento funzionante senza risultati. Ho anche:

  • Svuotate le cache locali, APC e Magento
  • Ricerca nei log degli errori (la registrazione è abilitata)
  • ricontrollato i valori corretti di web / unsecure / base_url e web / secure / base_url nel DB
  • Riavviato, 3 volte;)

Minify non viene utilizzato. Unisci i file CSS sono abilitati, tuttavia non riesco a capire come disabilitare senza l'interfaccia di amministrazione (il salvataggio e la navigazione non funzionano, anche quando sostituisco i valori corretti con Firebug). Qualsiasi idea sarebbe molto apprezzata!

(Domanda originariamente pubblicata da @reflexiv su Stack Overflow )


Abilitare il registro delle eccezioni e verificare l'esistenza di tutti i file.
joseantgv,

Risposte:


42

Magento che utilizza URL di percorso completo per accedere ai file CSS è un errore comune che deriva da due cose che accadono:

  • Avere unisci file CSS abilitato
  • Magento non è in grado di leggere / scrivere sul supporto / cartella.

Per risolvere questo problema, assicurati che:

  • Il supporto / cartella esiste nell'installazione di Magento.
  • Il supporto / cartella è scrivibile dal tuo server web.

Come @flochtililoch ha pubblicato su Stack Exchange :

È necessario verificare che Apache sia effettivamente proprietario della directory multimediale , controllando prima quale utente Apache è in esecuzione e quindi regolando le autorizzazioni di conseguenza:

chown -R <apache_user> media
chmod -R ug+w media

Maggiori informazioni qui: Autorizzazioni per filesystem Magento


Ho avuto lo stesso problema a causa della fusione CSS / JS abilitata.
DmitryR

1
@DmitryR: L'unione abilitata non è di per sé il problema, il problema non è il server Web che non è in grado di scrivere sul supporto. Tenta di farlo quando la fusione è abilitata, fallisce e questo risulta. ;)
Navarr,

Questo ha un errore grave: non solo rende la cartella scrivibile dall'utente apache, ma rende la cartella scrivibile da tutti . NON FARLO. Apre un enorme buco di sicurezza.
Michael Hampton,

Buona chiamata. L'ho aggiornato per essere ug + w invece di o + w
Navarr,

3

Ho appena riscontrato un problema molto simile durante la copia di un sito da un server live a un server apache dev (MAMP) locale. Quanto segue lo ha risolto per me:

  1. cancellazione media/csse media/jsdi tutti i file
  2. Nell'impostazione della tabella del database core_config_data:
    dev/js/merge_filesda 0 (era stato 1)
    dev/css/merge_css_filesa 0 (era stato 1)
  3. radura var/cache

I file front & backend ricaricati e ora i file css / js vengono serviti correttamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.