1

我正在构建一个 Symfony 5 应用程序,并希望在我的树枝模板中使用 CSS。我的样式表位于public/css/styles.css,所以我尝试在我的 twig 模板中使用它<link href="{{ asset('css/styles.css') }}" rel="stylesheet" type="text/css"/>。这在本地工作,但是一旦我将它部署到谷歌云平台,服务器就再也找不到它了。尝试查找样式表时,控制台显示 404 错误。Symfony 想让我把我的 css 文件放在哪里?

这感觉应该很简单,但我完全不知所措,觉得我错过了一些愚蠢的东西。该文档只真正讨论了 Encore,这对于在 twig 模板中使用单个 CSS 文件似乎有点过头了。

4

2 回答 2

0

(对不起,我不能发表评论,因为声誉低,所以我需要回答)

首先,您的 css 的位置是正确的。您的链接标签的使用看起来也不错。现在的问题是:正确的错误消息是什么,或者更好的是浏览器在哪里查看您的文件?

我认为浏览器希望从根目录而不是公共文件夹中获取您的文件。如果您可以回答是,您必须检查您的 .htaccess 文件和/或在此原因中从 webspace 链接到 startfolder(公共)。它可以在 localhost 中工作,因为 symfony 开发服务器会为您完成这项工作。

于 2020-03-08T12:15:31.750 回答
0

让 CSS 正常工作。我认为app.yaml将css放在公用文件夹中是什么意思。

handlers:
  - url: /css
    static_dir: public/css

然后,我没有使用asset()函数加载,而是将css包含在:

<link href="/css/styles.css" rel="stylesheet" type="text/css"/>

这样,我在本地公开的 css 文件夹在部署到 GCP 时就被公开了。

于 2020-03-11T20:28:35.127 回答