Domänenübergreifende Schriftarteneinbettung: Warum nur auf derselben Domain?
Sie versuchen, ein Schriftarten-Repository für Ihre Websites zu erstellen. Verwendung von @font-face-Deklarationen. Sie haben Ordner für jede Schriftart in einer Subdomain eingerichtet, eine Datei „font-face.css“ mit absoluten Links zu den Schriftarten erstellt und bestätigt, dass sie erfolgreich geladen wurde. Die Schriftarten werden jedoch nicht auf Ihren anderen Websites angezeigt.
Das Problem:
Firefox schränkt die domänenübergreifende Einbettung von Schriftarten, einschließlich Subdomains, ein. Dies ist eine Sicherheitsmaßnahme, um den unbefugten Zugriff auf Schriftarten von anderen Websites zu verhindern.
Die Lösung:
Um die domänenübergreifende Einbettung von Schriftarten in Ihrer Subdomain zu ermöglichen, fügen Sie Folgendes hinzu Code-Snippet zur .htaccess-Datei dieser Subdomain:
<FilesMatch "\.(ttf|ttc|otf|eot|woff)$"> <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> </FilesMatch>
Mit diesem Code kann jede Website auf die Schriftarten auf Ihrem zugreifen Subdomain, indem Sie den Access-Control-Allow-Origin-Header auf „*“ setzen.
Bezüglich der Zugriffskontrolle:
Während die W3C-Spezifikation entweder einen Platzhalter oder einen spezifischen Platzhalter zulässt Domäne für Access-Control-Allow-Origin, bietet es keinen klaren Mechanismus zur Validierung des Origin-Headers. Vorerst sollte die obige Lösung den Zugriff von allen Websites aus ermöglichen.
Das obige ist der detaillierte Inhalt vonWarum kann ich Schriftarten aus meiner Subdomain nicht auf anderen Websites einbetten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!