Laravel cors 无法在 Apache 服务器上运行
Posted
技术标签:
【中文标题】Laravel cors 无法在 Apache 服务器上运行【英文标题】:Laravel cors not working on Apache server 【发布时间】:2019-09-11 19:46:44 【问题描述】:我有一个 laravel api 应用程序,在 localhost (IIS) 上一切正常,我可以成功执行 GET 请求,我在 Apache 服务器上有相同的应用程序突然我的 api 抛出一个 CORSenter code here
错误,我是使用 laravel-cors 插件
我尝试过允许 .htaccess 文件中的标头无济于事。
以下是我的 kernel.php 的截断版本
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
//'cors' => \App\Http\Middleware\Cors::class,
//'cors' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'cors' => \Barryvdh\Cors\HandleCors::class,
];
【问题讨论】:
你能给我们一个错误的例子吗? 从源“localhost:4200”访问“http:/xxxxx.com/api/dummy/”处的 XMLHttpRequest 已被 CORS 策略阻止:没有“Access-Control-Allow-Origin”标头存在于请求的资源上。 【参考方案1】:谢谢。我通过将标头直接包含在控制器中的方法/函数中来使其工作。
....
$response->headers->set('Content-Type', 'application/json');
$response->headers->set('Access-Control-Allow-Origin', '*');
return $response;
有点老套,但现在必须做
【讨论】:
以上是关于Laravel cors 无法在 Apache 服务器上运行的主要内容,如果未能解决你的问题,请参考以下文章