Główny problem był spowodowany nieprawidłową pracą przepisywania (jak powiedział @Marius). W RewriteBase
moim katalogu pub/static/
nie było i Apache nie mógł znaleźć plików, ponieważ szukał ich z folderu głównego. Po dodaniu: RewriteBase /pub/static
wszystko zaczyna działać.
Jak to działało:
pod tym adresem:
http: //m2.uchuhlebov.web.ra/pub/static/version1481885888/frontend/Magento/luma/en_US/mage/requirejs/mixins.js
przepisywanie powinno działać:
RewriteRule ^version.+?/(.+)$ $1 [L]
gdy linia zaczynała się od folderu głównego:
/pub/static/version...
nie zadziałało i nie mogło przekierować do pliku, potrzebne.
Przepisz bez bazy:
Przepisz z bazą:
Oto część mojego .htaccess
pliku z pub/static
(przepisuje):
<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>
Jak wyłączyć wersjonowanie plików statycznych:
Jeśli nie chcesz używać wersji plików statycznych, możesz wyłączyć tę funkcję w obszarze administracyjnym Magento:
Można zmienić to ustawienie dla zakresu domyślnego za pomocą następującego zapytania MySQL :
INSERT INTO `core_config_data`(`path`, `value`) VALUES ('dev/static/sign', 0) ON DUPLICATE KEY UPDATE `value`=0
Następnie wykonaj następne polecenie, aby wyczyścić pamięć podręczną konfiguracji:
bin/magento cache:clean config
PS: Moja odpowiedź jest aktualna dla użytkowników apache2. Jeśli używasz NGINX, zobacz tę odpowiedź (autor: @ kevin-javitz)