Gelöst - Fonts auf anderer Domain nutzen - CORS

tombe

Erfahrenes Mitglied
Hallo liebes Forum,

wir haben unter der Domain "noe-bm.de" unsere mit Wordpress erstellte Firmen-Homepage gehostet. Jetzt soll zusätzlich noch unter Domain "noe.nw-eshop.com" ein Online-Shop eingerichtet werden (diese Domain ist erstmal nur zum Testen und wird sich später nochmal ändern) und dieser soll optisch der Homepage möglichst ähnlich sein. Der Shop wird uns von einem Lieferant zur Verfügung gestellt und wir können hier nur sehr eingeschränkt etwas am Quellcode ändern.

Auf der Homepage werden zwei Schriftarten verwendet die ich aus diesem Grund im Shop auch verwenden möchte und hier liegt mein Problem.

Ich habe keine Möglichkeit die Fonts auf die Shop-Domain zu übertragen, da hier nur der Upload zum Beispiel von PNG- oder JPG-Dateien erlaubt ist.

Seit Tagen versuche ich nun eine .htacess- oder web.config-Datei zu erstellen die es mir erlaubt, die Fonts Domainübergreifend zu nutzen und bekomme es einfach nicht hin. Ok, mir fehlt hier auch das Wissen um so eine Datei zu erstellen und die sonstigen Hintergründe.

Der Server auf dem unsere Homepage läuft ist ein "IIS 10" der Server auf dem der Shop läuft ist ein "nginx", dass habe ich herausgefunden.

Die Schriftarten liegen unter dem Pfad "/httpdocs/wp-content/themes/glanzbox-neo-child/fonts" und dort aktuell die folgende .htaccess-Datei:

Die Fehlermeldung die ich erhalte lautet wie folgt:

Code:
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://noe-bm.de/wp-content/themes/glanzbox-neo-child/fonts/RussoOne-Regular.ttf. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt)

Code:
<FilesMatch ".(eot|ttf|otf|woff)">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>

<FilesMatch ".(txt|csv)">
Deny from all
</FilesMatch>

und gleichzeitig auch die folgende web.config:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <cors enabled="true" failUnlistedOrigins="true">
      <add origin="*" />
      <add origin="https://*.microsoft.com" allowCredentials="true" maxAge="120">
        <allowHeaders allowAllRequestedHeaders="true">
          <add header="header1" />
          <add header="header2" />
        </allowHeaders>
        <allowMethods>
          <add method="GET" />
        </allowMethods>
        <exposeHeaders>
          <add header="header1" />
          <add header="header2" />
        </exposeHeaders>
      </add>

      <add origin="http://noe.nw-eshop.com" allowed="true" maxAge="120">
        <allowMethods>
          <add method="GET" />
        </allowMethods>
      </add>
      <add origin="https://noe.nw-eshop.com" allowed="true" maxAge="120">
        <allowMethods>
          <add method="GET" />
        </allowMethods>
      </add>

      <add origin="http://*" allowed="false" />
    </cors>
</system.webServer>
</configuration>

Beide Inhalte habe ich mir aus dem Internet kopiert und dann ein wenig angepasst.

Könnt ihr mir vielleicht sagen wo mein Fehler liegt oder habt ihr mir einen Link wo ich weitere Infos zu diesem Thema finde (wenn möglich in deutsch).


Vielen Dank an alle die sich meinem Problem annehmen

Thomas
 
Zuletzt bearbeitet:

tombe

Erfahrenes Mitglied
Konnte das Problem dann doch noch selber lösen.

Die web.config muss scheinbar im Root-Verzeichnis liegen. So klappt es jetzt zumindest bei mir.