0

在本地(通过yesod devel)运行我的网站时,样式会加载并且一切都很好。CSS 文件已正确加载。使用这种方法

但是,当上传到我的亚马逊 ec2 服务器样式时,没有正确加载。

我正在使用监听端口 80 的 nginx,然后将其重定向到运行我的 yesod webapp 的端口 3000。我的 nginx.conf 设置。

在此处输入图像描述

所以我可以直接访问header.css,显示静态文件已传递给用户浏览器。但是,由于某种原因,css 连接不正确。

我注意到的另一件事是,如果我直接访问 IP 和端口 3000,favicon.ico则会加载默认图标,而如果我访问域,则不会加载。有任何想法吗?

4

2 回答 2

1

config/settings.yml中的approot设置是否与您用于访问 ec2 服务器的 url 的开头一致?您显示的日志当然可以用错误来解释。Yesod 使用approot作为前缀构建完全限定的 url,用于构建页面所需的所有附加部分。(查看页面源代码以查看 Yesod 生成的内容。)

如果您现在使用yesod devel运行,approot设置将是“开发”环境的设置 - 如果您保留settings.yml的结构,它将是“默认”部分中的设置。您创建了脚手架站点。

于 2013-03-28T15:20:09.057 回答
0

在您的 nginx.conf 文件中没有发现任何严重错误。

我点击http://www.finance-web.biz/static/css/header.css,结果很好。

/*!
 * Extra header style
 */

.beta {
    color: #CC3300;
}

也许它是缓存在您的浏览器中的东西。

于 2013-03-29T14:09:10.390 回答