对CORS飞行前选项请求的响应为Laravel API中的500内部服务器错误

对CORS飞行前选项请求的响应为Laravel API中的500内部服务器错误,cors,angular7,laravel-5.7,Cors,Angular7,Laravel 5.7,我正在做一个拉维尔和角的项目。该项目在另一台计算机上运行良好,但我的笔记本电脑中出现了以下错误 我用了一个包裹。我试了好几种方法,但找不到任何解决办法 跨源请求被阻止:同源策略不允许读取远程资源 我的.htaccess文件如下所示 <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule>

我正在做一个拉维尔和角的项目。该项目在另一台计算机上运行良好,但我的笔记本电脑中出现了以下错误

我用了一个包裹。我试了好几种方法,但找不到任何解决办法

跨源请求被阻止:同源策略不允许读取远程资源

我的
.htaccess
文件如下所示

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

选项-多视图-索引
重新启动发动机
#句柄授权头
RewriteCond%{HTTP:Authorization}。
重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]
#如果不是文件夹,则重定向尾部斜杠。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_URI}(+)/$
重写规则^1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]

在这方面,有人能帮我吗?

您只允许设置一次
访问控制允许原点
标题


似乎此标题也设置在
laravel cors
包配置之外的其他位置。例如,在您的
.htaccess
文件中,在您的服务器配置中,或者在您手动创建的某些其他中间件中(由于您仅在一个环境中获得异常,因此不太可能)

谢谢你,皮斯卡托。我用
.htaccess
文件编辑了我的问题。谢谢。您需要解决的问题是,您向其发送请求的服务器正在响应选项请求,但出现500个内部服务器错误。所以你没有CORS问题。相反,您有一个500内部服务器错误问题。浏览器报告CORS错误的唯一原因是,该错误没有Access Control Allow Origin响应标头。一个500的错误几乎永远不会出现在那个标题上。查看服务器端的服务器日志,查看服务器正在记录哪些消息,这些消息涉及导致服务器发送500响应的任何内部服务器问题。谢谢@sideshowbarker。在localhost中工作时,如何查看服务器日志?谢谢@sideshowbarker。带有500个内部服务器错误的选项请求的含义是什么?我打错网址了吗?@sideshowbarker我希望我能投票支持你的答案。我花了半天时间不明白为什么会出现这个错误,当然,我在cors设置中所做的一切都没有帮助。多亏了你,我终于找到了真正的答案error@CSquare很高兴它帮助了你。不幸的是,你遇到的情况也是很多其他人经常遇到的。浏览器在CORS错误消息中不包含HTTP状态代码,并且不会使HTTP状态代码非常容易被发现,这一事实导致许多开发人员最终浪费了大量时间。我希望我能说我知道浏览器会在这方面做出一些改进…但我不能。事实上,Chrome做了一些改变,这会让开发者的情况变得更糟;见:(