Alcuni browser (Firefox in primis) non permettono di scaricare e usare i web fonts da un dominio diverso da quello corrente. Questa policy, chiamata same domain, impedisce a siti terzi di usare i web fonts di altri siti. Infatti se ciò accadesse potrebbero sorgere dei problemi nella licenza d'uso dei font stessi. In altre parole, se voi avete acquistato un font e un altro sito lo usa a vostra insaputa, ciò viola la licenza d'uso del font. Per fortuna ci sono due soluzioni per poter usare i web fonts in modo cross-domain, come nel caso dei sottodomini di un vostro sito.
La soluzione di CSS Bakery
La prima soluzione consiste nel modificare il file httpd.conf
di Apache aggiungendo le seguenti direttive:
AddType application/vnd.ms-fontobject .eot AddType font/ttf .ttf AddType font/otf .otf <FilesMatch "\.(ttf|otf|eot)$"> <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> </FilesMatch>
Lo svantaggio di questa soluzione, descritta in questo articolo, è che consente a tutti di avere accesso ai web fonts.
La soluzione di Lowest Common Denominator
La seconda soluzione, descritta in questo articolo, è più restrittiva nel senso che consente solo a determinati domini di avere accesso alle risorse. Questa soluzione è anche più accessibile in quanto fa uso del file .htaccess
e non del file di configurazione del web server:
<FilesMatch "\.(eot|otf|woff|ttf)$"> SetEnvIf Origin » "^http(s)?://(.+\.)?(domain1\.org|domain\.com)$" origin_is=$0 Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is </FilesMatch>
Potete usare i vostri nomi di dominio nell'espressione regolare per verificarne gli effetti.