主要问题是由错误的重写工作引起的(如@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...
它无法正常工作,无法重定向到所需的文件。
无基础重写:
用base重写:
这是我.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)