Почему я получаю не найденную ошибку в js / index.php / x. js в Magento? - PullRequest
0 голосов
/ 02 мая 2020

Magento Forgotpassword.p html страница использует js / index.php / x. js? F = prototype / prototype. js, prototype / validation. js, mage / adminhtml / events. js, mage / adminhtml / form. js, scriptaculous /ффекты. js, и это возвращает пользовательский шаблон ошибки 404 шаблона Magento. Очевидно, сценарий js / index. php должен объединять предоставленные сценарии (для целей оптимизации) и возвращать виртуальный файл x. js, который физически не существует на сервере. Но в моем случае это не работает. Для тестирования в начале js / index. php Я добавил в журнал некоторую информацию. Когда я вызываю js / index. php запись добавляется в скрипт. Когда я вызываю js / index.php / x. js, в журнал ничего не записывается, что означает, что управление никогда не передается в js / index. php. Просмотр inte rnet Я нашел информацию, что использование nginx для stati c файлов может создать проблему, но я отключил nginx в настройках своего хостинга. Администратор моего хостинга утверждает, что это работает в случае, если все остальные установки Magento на этом сервере включены, независимо от того, включена или выключена nginx. Как я могу устранить проблему? Что я должен искать? Можно ли в этом что-то винить в .htacces? Может ли тот факт, что моя установка Magento находится в подпапке, как-то повлияет на эту проблему?

1 Ответ

0 голосов
/ 04 мая 2020

Наконец я нашел причину проблемы root. Поскольку у меня есть настройка для нескольких веб-сайтов Magento, мне нужно добавить дополнительные записи в переменные окружения моей настройки Magento .htaccess, в зависимости от того, какой правильный веб-сайт выбран для отображения в веб-интерфейсе. Я использовал шаблон, предложенный в нескольких статьях inte rnet. Это выглядит так:

RewriteCond %{HTTP_HOST} ^domain1$
RewriteRule (.*) $1 [E=MAGE_RUN_CODE:domain1]
RewriteRule (.*) $1 [E=MAGE_RUN_TYPE:website]
RewriteCond %{HTTP_HOST} ^domain2$
RewriteRule (.*) $1 [E=MAGE_RUN_CODE:domain2]
RewriteRule (.*) $1 [E=MAGE_RUN_TYPE:website]

Проблема исчезла, когда я использовал другое решение (которое, однако, может не поддерживаться некоторыми серверами):

SetEnvIf Host ^domain1$ MAGE_RUN_CODE=domain1
SetEnvIf Host ^domain1$ MAGE_RUN_TYPE=website
SetEnvIf Host ^domain2$ MAGE_RUN_CODE=domain1
SetEnvIf Host ^domain2$ MAGE_RUN_TYPE=website
...