Att flytta statiska filer till en sub-domän på samma server är en slags fattigmans CDN-lösning. Men jag stötte på problem med Problem med Access-Control-Allow-Origin. Jag försöker att komma igång med webbutveckling och allt sådant som hör ihop med det igen. Så det här var bara ytterligare ett steg i den processen. CDN är en förkortning av Content Delivery Network.

Hur som helst, det snabbar ändå upp din webbsida, i alla fall lite grann. Så för att ytterligare optimera min egen server så flyttade jag en del statiska filer i en WordPress-installation till en sub-domän. Flyttade alltså hela katalogen /wp-content/, även lokalt på servern. Men jag stötte på ett litet problem med XHR förfrågningar mellan huvud-domänen och sub-domänen. Vilket i sin tur resulterade i att inte allt laddades in som det skulle. När jag undersökte problemet med Chromes verktyg för utvecklare, då upptäckte jag att det hade med Access-Control-Allow-Origin att göra. Detta används för att kontrollera om en förfrågan ska tillåtas eller ej när den görs från en annan domän än den ursprungliga, detta kallas generellt för Cross Origin Resource Sharing.

Fixa Access-Control-Allow-Origin med .htaccess

Att fixa problemet är relativt enkelt, man behöver man lägga in en Access-Control-Allow-Origin Response Header i ens .htaccess som finns på sub-domänen, så att man kan skicka och ta emot förfrågningar från huvud-domänen. En av förutsättningarna för att detta ska fungera är att modulen mod_headers är aktiverad på din Apache-server. Om inte så kan du aktivera modulen med kommandot a2enmod headers. Du behöver så klart administrativa rättigheter för att kunna göra detta.

<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>

Du kan läsa mer om Cross Origin Resource Sharing och fördjupa dig i ämnet om du vill, mer information hittar du hos W3.

Kanske borde jag skriva ihop en guide om hur du kan göra det här själv, flytta statiska filer till en annan domän alltså!? Vad tycker du?

Dela gärna: