Magento CSS та JavaScript не завантажуються через використання шляху до файлової системи


29

Не вдалося встановити модуль за допомогою Magento Connect, отримавши Connection Error try again laterпомилку. Дотримуючись вказівок розробника модуля, я спробував виправити дозволи в корені документа за допомогою:

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

Він все ще не працював, тому я закінчив установку модуля вручну. Потім я увійшов до адміністратора, і Magento намагався обслуговувати файли CSS, використовуючи шляхи до системних файлів замість таких URL-адрес:

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

Я негайно видалив розширення і безрезультатно спробував співставити кари з іншого сервера з робочим Magento. У мене також:

  • Очищені локальні кеші, APC та Magento
  • Подивилися в журналах помилок (журнал увімкнено)
  • двічі перевірили належні значення web / unsecure / base_url та web / secure / base_url у БД
  • Перезавантажено, 3 рази;)

Minify не використовується. Об’єднані файли CSS увімкнено, однак я не можу зрозуміти, як відключити без адміністративного інтерфейсу (збереження та навігація не працює, навіть коли я замінюю правильні значення Firebug). Будь-які ідеї будуть дуже вдячні!

(Питання, яке спочатку опублікував @reflexiv на стеку Overflow )


Увімкніть журнал виключень і перевірте, чи існують усі файли.
joseantgv

Відповіді:


42

Magento, використовуючи повні URL-адреси шляху для доступу до файлів CSS, є поширеною помилкою, яка виникає внаслідок двох речей:

  • Увімкнено об'єднання файлів CSS
  • Неможливо Magento читати / писати у медіа / папці.

Щоб виправити цю проблему, переконайтесь, що:

  • Медіа / папка існує у вашій Magento інсталяції.
  • Медіа / папка може бути написана вашим веб-сервером.

Як @flochtililoch розмістив на стеці Exchange :

Ви повинні переконатися, що apache насправді є медіа- каталогом, спочатку перевіривши, який саме апарат apache працює , а потім відповідно відкоригувавши дозволи:

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

Більше інформації тут: Дозволи файлової системи Magento


У мене була така ж проблема, оскільки об’єднання CSS / JS було ввімкнено.
ДмитроР

1
@DmitryR: Увімкнення злиття саме по собі не є проблемою, проблема веб-сервера не може писати на носії. Це намагається зробити це, коли об'єднання ввімкнено, не вдається, і це призводить до результатів. ;)
Наварр

У цьому є серйозна помилка: вона не просто робить папку, яку можна записувати користувачем apache, але робить папку доступною для запису всіма . НЕ РОБИ ЦЬОГО. Це відкриває масивний захисний отвір.
Майкл Хемптон

Гарний дзвінок. Я оновив це, щоб бути ug + w замість o + w
Navarr

3

Щойно я стикався з дуже подібною проблемою, коли копіював сайт з живого сервера на локальний сервер розробки (MAMP). Наступне вирішило це для мене:

  1. очищення media/css& media/jsвсіх файлів
  2. У core_config_dataналаштуваннях таблиці баз даних :
    dev/js/merge_filesвід 0 (було 1)
    dev/css/merge_css_filesдо 0 (було 1)
  3. очищення var/cache

Перезавантажені файли фронту та бекенда та тепер css / js подаються правильно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.