css — Как включить CORS на онлайн-сервере с использованием AJAX и PHP, чтобы получить шрифт для использования на другом сайте BigCartel

В настоящее время я использую BigCartel для разработки веб-сайта.

Я хочу использовать собственный шрифт. Независимо от того, какой сервер я использую (в настоящее время это бесплатный сервер Hostinger), я не могу включить CORS с помощью htaccess.

Добавлено в .htaccess:

#   Header always add Access-Control-Allow-Origin "*"Header always add Access-Control-Allow-Methods "POST, GET, PUT, OPTIONS, PATCH, DELETE"Header always add Access-Control-Allow-Headers "X-Accept-Charset,X-Accept,Content-Type"RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L,E=HTTP_ORIGIN:%{HTTP:ORIGIN}]]

CSS:

@font-face {
font-family: FontName;
src: url(http://WEBSITE_URL.com/fontname.woff);
}

2

Решение

Большая часть бесплатного хостинга не обеспечит поддержку всех файлов. Но поддержка PHP — одна из замечательных вещей. Так что вы можете использовать PHP для обработки файлов в правильном формате.

Так что для вашего вопроса, если у вас есть font-name.woff, у которого есть application/x-font-woff в качестве MIME-типа вы можете создать прокси-скрипт PHP, который выполняет что-то вроде этого:

<?php
ob_start();
header("Content-type: application/x-font-woff");
echo file_get_contents("file-name.woff");
?>

Сделайте его универсальным и обслужите все файлы следующим образом:

<?php
ob_start();
header("Content-type: application/x-font-woff");
echo file_get_contents("{$_GET["file"]}.woff");
?>

И назовите это как: font.php?file=file-name, Надеюсь это поможет.

Кроме того, чтобы включить CORS в файл PHP:

<?php
header("Access-Control-Allow-Origin: *");
ob_start();
header("Content-type: application/x-font-woff");
echo file_get_contents("{$_GET["file"]}.woff");
?>
1

Другие решения

Других решений пока нет …