Mieliśmy dokładnie ten problem z fontawesome-webfont.woff2 rzucanie błąd 406 na udostępnionym hosta (Cpanel). Pracowałem na nieuchwytnego „cookies mniej domeny” na projekt Wordpress wielu serwerach i moich stron „www.domena.tld” miałby następujący błąd (3 razy) w Chrome:
czcionki z pochodzenia "http://static.domain.tld "został zablokowany przed ładowaniem za pomocą zasady współdzielenia zasobów krzyżowych: w żądanym zasobie nie ma nagłówka" Access-Control-Allow-Origin ". Pochodzenie "http://www.domain.tld" jest zatem niedozwolone.
i Firefox, trochę bardziej szczegółowo:
pobrania czcionki: pobieranie nie powiodło się (font-family: "FontAwesome" style: normal weight: normal odcinek: normalny wskaźnik src: 1): zły Identyfikator URI lub dostępu międzysieciowego nie jest dozwolony Źródło: http://static.domain.tld/wp-content/themes/some-theme-here/fonts/fontawesome-webfont.woff2?v=4.7.0
font-awesome.min.css: 4: 14 Zablokowano żądanie krzyżowe: Polityka tego samego pochodzenia uniemożliwia odczyt zasobów zdalnych pod numerem http://static.domain.tld/wp-content/themes/some-theme-here/fonts/fontawesome-webfont.woff?v=4.7.0. (Powód: brak nagłówka CORS "Access-Control-Allow-Origin").
Doszedłem do QWANT-ing (QWANT.com = fantastyczne) i okazało się to SO postu:
Access-Control-Allow-Origin wildcard subdomains, ports and protocols
Godzinę w rozmowie z innym personelem Shared wsparcia Host (jeden nawet nie wiedzieć o F12 w przeglądarce ...), a następnie czeka na odpowiedź do biletu, który został odcięty po braku radości podczas gry z mod_security. Próbowałem kostka kod do pliku .htaccess wraz ze stanowiska w międzyczasie i dostał tę pracę zaradzenie 406 błędy, bezbłędnie:
<IfModule mod_headers.c>
<IfModule mod_rewrite.c>
SetEnvIf Origin "http(s)?://(.+\.)?domain\.tld(:\d{1,5})?$" CORS=$0
Header set Access-Control-Allow-Origin "%{CORS}e" env=CORS
Header merge Vary "Origin"
</IfModule>
</IfModule>
I dodał, że na szczycie mojej .htaccess na od strony głównej, a teraz mam nowego wuja o imieniu Bob. (*** oczywiście zmień część domeny.tld na domenę, z którą współpracujesz ...)
Moja ULUBIONA część tego posta to możliwość REGEx OR (|) wielu stron w tym CORS „hack”, wykonując:
Aby umożliwić wielu miejscach:
SetEnvIf Origin "http(s)?://(.+\.)?(othersite\.com|mywebsite\.com)(:\d{1,5})?$" CORS=$0
Ta poprawka szczerze rodzaj wiał zdanie bo ja wpadłem na ten problem wcześniej, pracy z Dev pod adresem Fortune 500 firm, które są MILES ponad moją bazę wiedzy o Apache i nie mogłem t rozwiązywać takie problemy bez konieczności zmiany ustawień Apache.
To rodzaj magicznej kuli, która naprawia wszystkie problemy związane z CDN z mniejszą ilością plików cookie (lub prawie bez użycia plików cookie, jeśli korzystasz z CloudFlare ...), aby zredukować niepotrzebny ruch sieciowy spowodowany przez pliki cookie wysyłane każda prośba o zdjęcie może zostać odrzucona przez serwer jako zła randka w ciemno.
Super Secure, Super Elegant. Uwielbiam: Nie musisz otwierać przepustowości serwerów, aby pobierać zasoby złodziei/hot-link-er.
Rekwizyty do zbiorowego wysiłku z tych 3 genialnych umysłów do rozwiązywania tego, co kiedyś uważano nierozwiązywalne z .htaccess, którego cząstkach ten kod razem z:
@Noyo https://stackoverflow.com/users/357774/noyo
@DaveRandom https://stackoverflow.com/users/889949/daverandom
@ Pratap-koritala https://stackoverflow.com/users/4401569/pratap-koritala
Myślę, że rozwiązaniem jest tutaj: http://stackoverflow.com/questions/1653308/access-control-allow-origin-multiple-origin-domains – Croises
@Croises dzięki, ale niestety, że nie ma sensu do mnie – MeltingDog
[Check it out] (http: //stackoverflow.com/q/15024333/440546) – undone