Основна проблема була викликана неправильним твором переписувань (як розповів @Marius). У RewriteBase
моєму каталозі не було, pub/static/
і Apache не міг знайти файли, оскільки шукав їх у кореневій папці. Після того, як ми додали: RewriteBase /pub/static
все почне працювати.
Як це працювало:
за цією адресою:
http: //m2.uchuhlebov.web.ra/pub/static/version1481885888/frontend/Magento/luma/en_US/mage/requirejs/mixins.js
перезапис повинен працювати:
RewriteRule ^version.+?/(.+)$ $1 [L]
як рядок починався з кореневої папки:
/pub/static/version...
він не працював і не міг перенаправити файл, потрібний.
Перепишіть без основи:
Переписати з базою:
Ось частина мого .htaccess
файлу з pub/static
(переписується):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /pub/static
# Remove signature of the static files that is used to overcome the browser cache
RewriteRule ^version.+?/(.+)$ $1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* ../static.php?resource=$0 [L]
</IfModule>
Як відключити версію статичних файлів:
Якщо ви не хочете використовувати версії статичних файлів, ви можете відключити цю функцію в області адміністратора Magento:
Можна змінити цей параметр для області за замовчуванням за допомогою наступного запиту MySQL :
INSERT INTO `core_config_data`(`path`, `value`) VALUES ('dev/static/sign', 0) ON DUPLICATE KEY UPDATE `value`=0
Потім виконайте наступну команду, щоб очистити кеш конфігурації:
bin/magento cache:clean config
PS: Моя відповідь актуальна для користувачів apache2. Якщо ви використовуєте NGINX, дивіться цю відповідь (автор: @ kevin-javitz)