我目前正在使用 BigCartel 设计一个网站。
我想使用自定义字体。无论我使用哪个服务器(目前是免费的 Hostinger 服务器),我都无法使用 htaccess 启用 CORS。
添加到 .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);
}
最佳答案
大部分免费托管不会提供对所有文件的支持。但是拥有 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");
?>
关于php - 如何使用 AJAX 和 PHP 在在线服务器中启用 CORS 以获取用于另一个 BigCartel 站点的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34853998/