以前从未使用过虚拟主机时遇到CORS问题。通常,我可以使用静态站点对其进行配置,但是让虚拟主机与WordPress配合使用时遇到了一些麻烦。
/ etc / hosts
127.0.0.1 localhost mytheme.local
255.255.255.255 broadcasthost
::1 localhost
/etc/apache2/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/Users/timothyfisher/Sites/wordpress"
ServerName mytheme.local
<Directory "/Users/timothyfisher/Sites/wordpress/">
Options +FollowSymLinks
AllowOverride All
Require all granted
Header set Access-Control-Allow-Origin "*"
</Directory>
</VirtualHost>
我能够通过http://mytheme.local
连接到虚拟主机,但是当浏览器尝试加载某些本地字体时,出现以下控制台错误:
从原点“ http://localhost/~timothyfisher/wordpress/wp-content/themes/mytheme/fonts/fonticons.woff2”到“ http://mytheme.local”的字体访问已被CORS策略阻止:所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问来源“ http://mytheme.local”。
这是怎么回事?
答案 0 :(得分:0)
正在发生的事情恰好是您的错误消息指出的内容。
您的字体位于http://localhost
您的网站来源是http://mytheme.local
除非您的字体也位于“ mytheme.local”,否则您违反了相同的来源政策,因此资源将不会加载。
这个问题之前已经问过很多次了-请参阅此帖子以获取一个已被广泛接受的奇妙语义答案:How does Access-Control-Allow-Origin header work?