Laravel:为静态文件添加 Cors 标头

Posted

技术标签:

【中文标题】Laravel:为静态文件添加 Cors 标头【英文标题】:Laravel : add Cors header for static files 【发布时间】:2017-05-31 01:02:11 【问题描述】:

我有一个 Laravel 应用程序,它托管在 Apache 上,但现在已迁移到 nginx 上。我是 nginx 的新手。 在 Apache 上,我的 htaccess 中有这个:

<IfModule mod_headers.c> <FilesMatch "\.(svg|ttf|otf|eot|woff|woff2)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch> </IfModule>

新的托管服务提供商不允许自定义 nginx 配置。

是否可以在 Laravel 应用程序 php 代码中为静态字体文件(扩展名:svg|ttf|otf|eot|woff|woff2)添加 Cors 标头(Access-Control-Allow-Origin: *)?我试过 (Adding Access-Control-Allow-Origin header response in Laravel 5.3 Passport) 没有成功,我的猜测是静态文件不是那段代码的目标。你确认吗?

有没有办法在我的应用程序的 PHP 代码中实现这一点?

谢谢

【问题讨论】:

【参考方案1】:

在您的服务器块中使用它或nginx.conf 以全局应用。

location ~* \.(svg|ttf|otf|eot|woff|woff2)$ 
    add_header Access-Control-Allow-Origin *;

确保重启 nginx 服务器以使更改生效。

【讨论】:

谢谢。但就像我说的,我的托管服务提供商不允许自定义 nginx 配置(这对我来说似乎很烦人)。是否可以在 Laravel 中做到这一点?

以上是关于Laravel:为静态文件添加 Cors 标头的主要内容,如果未能解决你的问题,请参考以下文章

如何为静态文件设置 http 标头?

如何启用 CORS tomcat 8.5 过滤器来访问静态文件?

如何在 Nuxt 静态文件响应中添加标题?

未设置 CORS 标头

WebAPI CORS 和静态文件

尽管将 AWS 静态文件路径添加到 CORS_ORIGIN_WHITELIST django-cors-headers,但出现 403 错误