字体:在生产环境中找不到404

时间:2019-10-09 09:57:56

标签: laravel azure laravel-5

在Laravel 5.8上,我将字体设置在public / fonts文件夹中,并在.scss中使用它们

@font-face {
   font-family: 'HelveticaNeue";
   src:url("fonts/HelveticaNeue.otf") format("opentype"),
       url('fonts/HelveticaNeue.woff') format('woff');
}

开发环境可以正确显示字体,但是我的Azure Web应用程序却不能,并且显示404 Not Found。

服务器的配置将根文件夹设置为/public,npm run prod用于在.css中生成/public/css/app.css文件。

website.com/css/app.css可用于访问css,但是website.com/fonts/fontname.extension在网络选项卡中抛出404并显示以下消息:

  

您要查找的资源已被删除,名称已更改或暂时不可用。

我缺少什么让CSS无法找到我正在使用的字体?

2 个答案:

答案 0 :(得分:0)

尝试将字体文件夹移动到app.css目录。

答案 1 :(得分:0)

它不起作用的主要原因是.htaccess文件仅在Apache服务器上可用。

Azure服务器是ISS服务器,需要一个web.config文件,该文件必须使otfwoff文件可供公众使用。

因此,必须在文件中放入以下内容:

<staticContent>
    <remove fileExtension=".woff" />
    <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
    <remove fileExtension=".otf" />
    <mimeMap fileExtension=".otf" mimeType="font/otf" />
<staticContent>