Magento CSS y JavaScript no se cargan debido al uso de la ruta del sistema de archivos

29

No pude instalar un módulo usando Magento Connect, obteniendo un Connection Error try again latererror. Siguiendo las instrucciones del desarrollador del módulo, intenté arreglar los permisos en la raíz 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

Todavía no funcionaba, así que terminé instalando el módulo manualmente. Luego inicié sesión en el backend de administración y Magento estaba tratando de servir archivos CSS utilizando las rutas de los archivos del sistema en lugar de las URL de esta manera:

<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" />

Inmediatamente eliminé la extensión e intenté hacer coincidir los permisos de otro servidor con un Magento que funcionaba en vano. Tengo también:

  • Se borraron cachés locales, APC y Magento
  • Buscó en los registros de errores (el registro está habilitado)
  • verifique los valores correctos de web / unsecure / base_url y web / secure / base_url en la base de datos
  • Reiniciado, 3 veces;)

Minify no se está utilizando. Los archivos de combinación de CSS están habilitados, sin embargo, no puedo entender cómo deshabilitarlos sin la interfaz de administración (guardar y la navegación no funciona, incluso cuando reemplazo los valores correctos con Firebug). Cualquier idea sería muy apreciada!

(Pregunta publicada originalmente por @reflexiv en Stack Overflow )

Navarro
fuente
Habilite el registro de excepciones y verifique si existen todos los archivos.
joseantgv

Respuestas:

42

Magento que usa URL de ruta completa para acceder a archivos CSS es un error común que resulta de dos cosas que suceden:

  • Tener habilitados los archivos CSS de combinación
  • Magento no puede leer / escribir en el medio / carpeta.

Para solucionar este problema, asegúrese de que:

  • El medio / carpeta existe en su instalación de Magento.
  • El servidor web puede escribir el medio / carpeta.

Como @flochtililoch publicó en Stack Exchange :

Debe verificar que apache realmente posee el directorio de medios , verificando primero qué usuario apache se está ejecutando y luego ajustando los permisos en consecuencia:

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

Más información aquí: Permisos del sistema de archivos Magento

Navarro
fuente
Tuve el mismo problema debido a que la fusión CSS / JS estaba habilitada.
DmitryR
1
@DmitryR: Tener la fusión habilitada no es el problema en sí mismo, el servidor web no puede escribir en los medios es el problema. Intenta hacerlo cuando la fusión está habilitada, falla y esto da como resultado. ;)
Navarr
Esto tiene un error grave: no solo hace que la carpeta sea editable por el usuario de apache, sino que también hace que la carpeta sea editable por todos . NO HAGAS ESTO. Abre un agujero de seguridad masivo.
Michael Hampton
Buena llamada. Lo actualicé para que sea ug + w en lugar de o + w
Navarr
3

Acabo de encontrar un problema muy similar al copiar un sitio de un servidor en vivo a un servidor apache de desarrollo local (MAMP). Lo siguiente lo resolvió para mí:

  1. borrar media/cssy media/jsde todos los archivos
  2. En la core_config_dataconfiguración de la tabla de la base de datos :
    dev/js/merge_filesa 0 (había sido 1)
    dev/css/merge_css_filesa 0 (había sido 1)
  3. claro var/cache

Los archivos frontal y backend recargados y ahora los archivos css / js se están sirviendo correctamente.

Telarañas frescas
fuente