Das Laden der Schriftart wurde durch die Cross-Origin-Richtlinie zur gemeinsamen Nutzung von Ressourcen blockiert: Kein "Zugriffskontrolle-Erlauben-Origin"

16

Bei Google Chrome tritt dieser Fehler auf. Wir dachten, dass alles richtig eingestellt war. Aber vielleicht auch nicht?

Das http://skin.cdn.comLaden von Zeichensätzen aus dem Ursprung wurde durch die Richtlinie zur gemeinsamen Nutzung von Ursprungsressourcen blockiert: In der angeforderten Ressource ist kein Header "Zugriffskontrolle - Zulassen - Ursprung" vorhanden. Origin http://domain2.comist daher kein Zugriff gestattet.

Und wir haben die folgenden in htaccess (im Stammverzeichnis der Domäne).

<IfModule mod_headers.c>    
Header add Access-Control-Allow-Origin "http://skin.cdn.com" 
</IfModule>

Frage: habe ich andere Einstellungen vergessen?

Danke vielmals

snh_nl
quelle

Antworten:

17

Ändern Sie den Code Ihrer htaccess-Datei im Stammverzeichnis Ihrer Website (z. B. Ihre public_html-Datei ".htaccess").

<FilesMatch "\.(ttf|otf|eot|woff|woff2)$">
    <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin "http://skin.cdn.com"
    </IfModule>
</FilesMatch>

Jetzt kann Ihr CDN Ihre Ressource laden, indem Sie sie als übergebende Ressource (die Schriftarten) aufrufen.

CAVEAT: Sie müssen ALLES in Ihrem CDN GELÖSCHEN, damit die Dateien in wenigen Minuten aktualisiert werden.

Prashant Tapase
quelle
1
Ihre Antwort hat für mich einwandfrei funktioniert, aber kann ich fragen, warum Sie sich für die Platzhalter entschieden haben, anstatt sie auf bestimmte Ursprünge zu beschränken?
Abraham
Diese Methode funktioniert noch.
Rahul
0

Ich habe nicht genug Reputation, um die Antwort von @Prashant Tapase zu kommentieren, aber Ihr Stammverzeichnis ist nicht Ihr Public_html. Dies ist ein Unterverzeichnis Ihres Stammverzeichnisses. & aus den Antworten, die ich recherchiert habe Die FileMatch-Direktive sollte sich im IfModule befinden, wie unten gezeigt

<IfModule mod_headers.c>
    <FilesMatch "\.(eot|otf|ttc|ttf|woff|woff2)$">
        Header set Access-Control-Allow-Origin "*"
    </FilesMatch>
</IfModule>

Bitte korrigieren Sie mich, wenn dies falsch ist.
Oder Sie können bestimmte URLs / URIs von Schriftarten angeben, die er erwähnt hat.

Wenn es sich um eine CDN handelt, sollten Sie nach Möglichkeit die https-Version und nicht http verwenden.

Ryan Stone
quelle