Laravel+十月CMS,组合样式表不能解释为CSS



我正在尝试从 Ubuntu 18 + Nginx 上的 git 存储库运行本地项目。在名称为"31bf092dab0286a768e84f61021e617e-1527088735"(不带扩展名(的组合资产的前端文件上,不会解释为 CSS 或 JS。 在 Chrome 中,页面加载时没有样式,Chrome 显示错误:"资源解释为样式表,但使用 MIME 类型文本/html 传输:"https://example.test/combine/31bf092dab0286a768e84f61021e617e-1527088735"。 什么Nginx设置可以毁掉这一切?

我的配置

server {
listen 80;
listen [::]:80;
server_name example.test *.example.test;
return 301 https://$server_name$request_uri;
gzip on;
gzip_comp_level 6;
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;

}

服务器 {

listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate /etc/ssl/certs/localhost.crt;
ssl_certificate_key /etc/ssl/private/localhost.key;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
set $root_path /var/www/newemotion.test/web/;
root $root_path;
index index.php index.html index.htm index.nginx-debian.html;
server_name example.test *.example.test www.example.test;
gzip on;
gzip_comp_level 6;
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
location ~* ^.+.(jpg|jpeg|gif|png|ico|css|pdf|ppt|txt|bmp|rtf|js|woff|ttf|otf|woff2)$ 
{
expires 7d;
}
if (!-e $request_filename)
{
rewrite ^/(.*)$ /index.php?/$1 break;
break;
}
rewrite themes/.*/(layouts|pages|partials)/.*.htm /index.php break;
rewrite uploads/protected/.* /index.php break;

location / {
location ~ [^/].ph(pd*|tml)$ {
try_files /does_not_exists @php;
}
}
location ~ ^/favicon.ico { try_files $uri /index.php; }
location ~ ^/sitemap.xml { try_files $uri /index.php; }
location ~ ^/robots.txt { try_files $uri /index.php; }
location ~ ^/humans.txt { try_files $uri /index.php; }
## Let nginx return 404 if static file not exists
location ~ ^/storage/app/uploads/public { try_files $uri 404; }
location ~ ^/storage/app/media { try_files $uri 404; }
location ~ ^/storage/temp/public { try_files $uri 404; }
location ~ ^/modules/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/themes/.*/assets { try_files $uri 404; }
location ~ ^/themes/.*/resources { try_files $uri 404; }
location @php {
#fastcgi_index index.php;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_split_path_info ^((?U).+.ph(?:pd*|tml))(/?.+)$;
#try_files $uri =404;
include fastcgi_params;
}

}

我尝试从 10 月 CMS 文档中编写默认配置。 什么也无济于事。

问题出在memcached中,我禁用了它并将缓存类型设置为.env文件中的文件。

由于nginx使用文件扩展名来设置MIME类型,因此MIME类型设置不正确。为了能够正确设置 mime 类型,您需要使用文件扩展名或为目录设置默认 mime 类型。

若要设置目录的默认 mime 类型,请使用以下位置块

location ~ css{
default_type text/css;
}
location ~ js{
default_type application/javascript;
}

最新更新