Audi piedāvā: Ļaujiet tam iet

Chrome:

"Cross-Origin Resource Sharing Policy dēļ ir bloķēta fonta izcelsme 'https://example.com': Pieprasītajā resursā nav galvenes 'Access-Control-Allow-Origin'. Izcelsme 'https: // Tāpēc vietnei www.example.com 'nav atļauts piekļūt. "

My .htaccess file looks like this: RewriteEngine on RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ https://example.com/$1 [L,R=301,NC] Redirect 301 / https://example.com 

Tad es to pievienoju faila apakšai:

Header add Access-Control-Allow-Origin '*' 

... un notīrīja kešatmiņu tajā pašā jautājumā.

... pēc tam šajā rakstā: Fontu ielāde ir bloķēta, izmantojot Cross-Origin Resource Sharing Policy: Nav “Access-Control-Allow-Origin”

Es pievienoju šīs rindiņas un aizstāju savu domēnu ar example.com:

  Header set Access-Control-Allow-Origin 'https://example.com'     Header set Access-Control-Allow-Origin 'https://www.example.com'   

Viss mans .htaccess izskatās šādi:

RewriteEngine on RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ https://example.com/$1 [L,R=301,NC] Redirect 301 / https://example.com Header add Access-Control-Allow-Origin '*'   Header set Access-Control-Allow-Origin 'https://example.com'     Header set Access-Control-Allow-Origin 'https://www.example.com'   

Vai šeit ir kāda palīdzība?

  • 1 Tas Redirect direktīva izskatās nevietā ... tas vai nu radīs novirzīšanas cilpu, bet mērķa URL trūkst beigu slīpsvītras (kā rezultātā nepareizi veidots pieprasījums ?!), vai arī lietotājs / pieprasījums tiek novirzīts uz "citu serveri" "tātad atlikušās direktīvas netiek izpildītas ?!
  • Sveiki, paldies par palīdzību. Es domēna beigās ievietoju slīpsvītru uz priekšu ... example.com, ... www.example.com ... elements. Bet bez avial. Tā kā man domēni ir gan www.example.com, gan example.com, Google tos traktē kā divas atsevišķas vietnes. Tāpēc es pievienoju .htaccess failu dokumenta saknei (/var/www/example.com/public_html) no jauna novirza www pieprasījumus uz example.com. Vietne tiek mitināta CentOS 7 serverī ar Apache. Interesanti: man nav kļūdu, ja dodos uz vietni example.com. Vienkārši www.example.com. Vai man vajadzētu pievērsties problēmas novirzīšanai šeit?
  • 1 Iespējams, jūs saistāt ar https://www.example.com/... visā jūsu pieteikumā? Kāpēc jums ir 2 ietinēji? Otrais Header set vienkārši pārrakstīs pirmo. (Tomēr es joprojām esmu pieķēries tam agrāk Redirect direktīva - es vispār neredzu, kā tas darbojas?)
  • Tas ir patiešām labs jautājums. Es domāju, tāpēc, ka es gribēju katram gadījumam aptvert gan www.example.com, gan example.com. Izdevuma rakstam, no kura saņēmu koda piemēru, nebija precīza problēma, jo man ir tā, ka es gribēju aptvert abus domēnus, kas ir viena un tā pati vietne (lietojumprogramma), ja to domājāt ar "lietojumprogrammu". Arī .htaccess fails (kas it kā norāda uz www.example.com pieprasījumiem novirzīt uz domēnu example.com, un tas vispār nedarbojas. Man vēl ir jāatrisina šī problēma.

Divu iestatīšana Access-Control-Allow-Origin galvenes nedarbojas. Ja vēlaties atļaut divus dažādus apakšdomēnus (tukšs domēns un "www"), šī StackOverflow atbilde iesaka jums rīkoties šādi:

 SetEnvIf Origin '^http(s)?://(.+\.)?example\.com$' origin_is=$0 Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is  

Pēc tam jums faktiski jāpārbauda, ​​vai tas darbojas. Tu vari izmantot curl komandrindā:

$ curl --header 'Origin: https://www.example.com/' --head https://example.com/my-font.woff 

Kā teikts komentāros, jūsu .htaccess fails izskatās, ka tas, iespējams, nevar darboties. The Redirect 301 noteikums ir beznosacījuma, tāpēc tam vajadzētu novirzīt katru pieprasījumu. Es domāju, ka tas vispār netiek piemērots. Varbūt jūs rediģējat nepareizu failu. Iespējams, faila nosaukums ir nepareizs. Varbūt atrodaties nepareizajā direktorijā. Ir arī iespējams, ka Apache ir konfigurēts neizmantot .htaccess. Apache ļauj failam piešķirt citu nosaukumu, ja ir konfigurācija, piemēram, AccessFileName '.config'. Pēc noklusējuma tie ir arī atspējoti. Konfiguram ir nepieciešams AllowOverride direktīva ir iestatīta uz kaut ko līdzīgu All jūsu direktorijai.

  • Paldies visiem par brīnišķīgajām atbildēm. Man vairs nav kļūdas. Problēma bija pārlūkā Chrome, taču problēma bija / Apache / 2.4.6 (CentOS) OpenSSL / 1.0.1e-fips PHP / 5.4.16. Labojums: (no iepriekš sniegtajiem padomiem un mitināšanas uzņēmuma) es izņēmu sākotnējo kodu .htaccess un piezvanīju savam hostinga uzņēmumam. Viņi ieteica man izmantot šo failu failam, kas novērsa kļūdu: RewriteEngine On RewriteBase / RewriteCond% {HTTP_HOST} ^ www \. (. *) $ [NC] RewriteRule ^ (. *) $ Https: //% 1 / 1 USD [R = 301, L]
  • 1 Šis kods izskatās, ka tas vienkārši novirza citus domēnus un apakšdomēnus uz jūsu galveno domēnu. Jums, iespējams, radās problēma ar fontu izsaukšanu, izmantojot domēnā absolūtās saites, kas, iespējams, neatbilst pašreizējam.

strādāja par jums: Charles Robertson | Vēlies ar mums sazināties?

noderīga informācija