Nginx 加载 JS 文件失败但加载 CSS

Posted

技术标签:

【中文标题】Nginx 加载 JS 文件失败但加载 CSS【英文标题】:Nginx fails to load JS files but loads CSS 【发布时间】:2015-10-08 11:59:09 【问题描述】:

我已经使用 Ubuntu 14.04、Ajenti 面板 + Agenti V 设置了一个 VPS。现在我正在尝试将 Vanilla Forums 的安装从一台服务器移动到另一台服务器,这让我有些头疼。

论坛打开很好,我可以浏览页面,正在加载.css文件但不是.js文件

这是我在 Ajenti 中的 nginx 配置:

try_files $uri $uri/ @rewrite;

location @rewrite 
  rewrite ^/(.*)$ /index.php?p=$1;


location ~ .(js|jpg|png|css)(.+)$ 
  root /srv/anunes/spacacores/;

最后一部分是我的解决方案尝试。它什么都不做。

【问题讨论】:

你能过去完整的 js 和 css 文件链接吗? 【参考方案1】:

好的,让我在没有链接的情况下回答这个问题:)

.(js|jpg|png|css)(.+)$

这个正则表达式说: 任何字符后跟js|jpg|png|css 之一,以一个或多个字符结尾。

让我们将正则表达式更改为:\.(js|jpg|png|css)(.*)$ 并重新启动 nginx,然后再试一次。

为什么? 可能您的js 链接的格式为file.js?something 而css 文件没有,所以nginx 根本不匹配main.css,因为它在css 部分之后没有字符(这是.+ 正则表达式所必需的)部分)。

【讨论】:

以上是关于Nginx 加载 JS 文件失败但加载 CSS的主要内容,如果未能解决你的问题,请参考以下文章

浏览器检查器如何知道图像或其他资源是不是属于加载失败的 css 或 js 文件?

linux+nginx ,js无法加载 .是啥原因

nginx设置反向代理后,页面上的js css文件无法加载

nginx设置反向代理后端jenklins,页面上的js css文件无法加载

nginx反向代理转发后页面上的js css文件无法加载原创

SpringMVC项目加载不出css和js