Я только что перенес сайт (Wordpress) в новое место размещения.Как предотвратить блокировку Chrome/FF CDN-шрифтов из-за политики CORS?
Сайт работает отлично, за исключением того, что Chrome и Firefox не отображают определенные шрифты.
Access to Font at 'http://example.com/site/wp-content/themes/mytheme/fonts/modules.ttf'
from origin 'http://example.com' has been blocked by CORS policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://example.com' is therefore not allowed access.
Я использую CloudFront служить шрифты (я использую example.com как происхождение, а не S3). Wordpress .htaccess содержит следующее:
<IfModule mod_headers.c>
<FilesMatch "\.(eot|font.css|otf|ttc|ttf|woff)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
<IfModule mod_mime.c>
# Web fonts
AddType application/font-woff woff
AddType application/vnd.ms-fontobject eot
AddType application/x-font-ttf ttc ttf
AddType font/opentype otf
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
</IfModule>
Что такое разумный подход к отладке/разрешению этого вопроса?
Как я понимаю, вы ставите .htaccess на стороне WordPress, правильно? Но он должен быть на стороне «сервера», где расположены шрифты. По словам CORS, владелец ресурсов (шрифтов) предоставляет доступ к клиентским серверам (сайты WordPress). –
Спасибо @KAGGDesign, я новичок в этом и не очень хорошо объясняю. Насколько я понимаю, сайт Wordpress * - это сервер. Источником CDN является сайт Wordpress. Если, например, я размещал шрифты в ведре S3, относительно просто добавить политику доступа к этому ведру. Но с местом WP, являющимся источником, я не понимаю, как настроить вещи. –
Также странно, что Safari загружает шрифты без проблем –