Contenuti

htaccess & Content Delivery Network (CDN)

htaccess & Content Delivery Network (CDN)

Utilizzare un CDN (Content Delivery Network) in maniera del tutto trasparente nel proprio sito web e’ davvero semplice. Per farlo vi bastera’ inserire poche righe all’interno del file htaccess del vostro sito web.

htaccess: Rewrite URLs automatically

Personalmente prediligo l’utilizzo di CDN su Azure e nell’esempio seguente trovarete il riferimento a azureedge. Il nome del cdn yourcdnname e’ da rimpiazzare col vostro. Se non volete utilizzare Azure vi consigliio personalmente CDN Di Keliweb. Confesso che e’ stato il mio primo servizio CDN utilizzato e sono rimasto piu’ che soddisfatto.

Ora -nel seguente esempio- vedremo come tramite RewriteRule di fare puntare in maniera del tutto trasparente la risorsa statica (image, css, js, ecc) al CDN. La riga da copiare/adattare e’ propio quella RewriteRule

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# CDN Section
<IfModule mod_rewrite.c>
RewriteRule ^uploads\/?(.*)$ "http\:\/\/yourcdnname\.azureedge\.net\/$1" [R=301,L]
</IfModule>
<IfModule mod_headers.c>
  <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$">
    Header set Access-Control-Allow-Origin "*"
  </FilesMatch>
</IfModule>
<IfModule mod_setenvif.c>
  <IfModule mod_headers.c>
    # mod_headers, y u no match by Content-Type?!
    <FilesMatch "\.(gif|png|jpe?g|svg|svgz|ico|webp)$">
      SetEnvIf Origin ":" IS_CORS
      Header set Access-Control-Allow-Origin "*" env=IS_CORS
    </FilesMatch>
  </IfModule>
</IfModule>
# END : CDN Section 

Prima di chiudere ricordatevi di autorizzare tramite CORS sul Content Delivery Network il vostro sito web in modo da non ricevere errori per contenuti non autorizzati.