我从 Godaddy 购买了一个新的 VPS,并且已经在我的
.htaccess
文件和 httpd.conf
中设置了此属性以允许跨源,我已分别在下面的代码中设置了 AllowOverride All
,如图所示,尽管如此,我仍然出现以下错误://.htaccess
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php83” package as the default “PHP” programming language.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php83 .php .php8 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
AddType video/MP2T ts
AddType application/dash+xml mpd
# Header set Access-Control-Allow-Origin "*"
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
# <FilesMatch "\.(mpd)$">
# Header set Access-Control-Allow-Origin "*"
# </FilesMatch>
</IfModule>
/usr/local/apache/conf/httpd.conf
<IfModule include_module>
<Directory "/home/indupendo/public_html">
AllowOverride All // <-- I added this line here.
SSILegacyExprParser On
</Directory>
</IfModule>
浏览器中的 CORS 问题
Access to XMLHttpRequest at 'https://indupendo.com/be-a/public/ads/video/rapper/rapper.mpd' from origin 'https://livepush.io' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
hlsplayer.2397aef1.js:1
GET https://indupendo.com/be-a/public/ads/video/rapper/rapper.mpd net::ERR_FAILED 200 (OK)
在
ssh cli
上,我在测试相关链接的响应后得到了这个,这确实表明未设置Access-Control-Allow-Origin
:
curl -I https://indupendo.com/be-a/public/ads/video/rapper/rapper.mpd
HTTP/2 200
last-modified: Fri, 29 Dec 2023 13:10:34 GMT
accept-ranges: bytes
content-length: 1397
vary: Accept-Encoding
date: Sat, 30 Dec 2023 13:45:44 GMT
server: Apache
如何设置此标头并解决该错误?
如果 .htaccess 未按预期工作,您可以在请求的 php 文件中设置标头。
<?php
header('Access-Control-Allow-Origin: *');
?>
请随意添加评论或支持我的观点。谢谢