Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 96 di 102
  • livello intermedio
Indice lezioni

Permalink con mod_rewrite

Impostazioni dei permalink su Apache, sfruttando il modulo mod_rewrite
Impostazioni dei permalink su Apache, sfruttando il modulo mod_rewrite
Link copiato negli appunti

Se abbiamo la possibilità di sfruttare il mod_rewrite per la riscrittura delle URL avremo molta più libertà nella definizione dei nostri permalink.

Sistemi Linux a parte, una piattaforma hosting basata su Windows mette a disposizione questo modulo se dotata almeno di Apache e se la relativa istruzione viene abilitata nel file di configurazione "httpd.conf", quindi il nostro campo d'azione è abbastanza vasto.

Perché sia possibile utilizzare il Mod_Rewrite con WordPress abbiamo necessita di alcuni minimi requisiti di sistema:

  • una macchina server dotata del Web server Apache con modulo Rewrite installato;
  • l'abilitazione della direttiva FollowSymLinks;
  • l'abilitazione delle direttive FileInfo come per esempio AllowOverride, FileInfo e AllowOverride All;
  • un file .htaccess in cui inserire le regole di riscrittura da comunicare al Web server;
  • i permessi di scrittura sul file .htaccess per poterlo aggiornare tramite l'amministrazione di WordPress.

Se all'interno della directory di base di WordPress non è presente un file .htaccess, l'applicazione tenterà comunque di crearlo autonomamente quando si cerca di definire dei Permalink personalizzati.

La possibilità che WordPress definisca per noi le regole di riscrittura all'interno di un file .htaccess è un'opzione molto utile, pensata in particolare per coloro che non hanno molta pratica in tema di gestione dei Web server o di espressioni regolari (molto utilizzate per il rewriting delle URL).

Nel caso in cui il file .htaccess non sia scrivibile dovremo editarlo manualmente, ma anche in questo WordPress ci aiuterà, l'applicazione sarà infatti in grado di accorgersi che il documento non è accessibile e produrrà per noi le regole necessarie alla riscrittura pronte per essere copiate ed incollate.

È possibile utilizzare anche un .htaccess preesistente, WordPress non cancellerà le regole già scritte né sovrascriverà alcunché, nel caso in cui le regole vengano digitate a mano l'utilizzatore dovrà però avere l'accortezza di scriverle alla fine del file.

Regole da seguire per la scrittura di un file .htaccess di WordPress

Se abbiamo scelto di avvalerci del Mod_Rewrite di Apache per la riscrittura delle URL di WordPress, dovremo seguire alcune regole basilari per utilizzare e scrivere un file .htaccess:

  • è necessario posizionare il file all'interno della stessa directory in cui si trova il file principale dell'applicazione ("index.php"), quindi se il nostro blog è installato nel percorso "http://www.sito.it/", dovremo salvare il file .htaccess nel percorso http://www.sito.it/.htaccess;
  • nel caso in cui si desideri modificare il file .htaccess direttamente dall'amministrazione (percorso: "Gestione" >> "File" >> ".htaccess per le regole di riscrittura"), si dovrà prima utilizzare il comando chmod sul file e settarne i permessi su "666", in questo modo però qualsiasi utente iscritto al blog con il privilegio di modificare i temi grafici, avrà anche la possibilità di modificare il file .htaccess;
  • è bene tenere presente che, se un file .htaccess contiene degli errori che causano problemi di raggiungibilità delle pagine del sito, si dovrà cancellare il file utilizzando il protocollo FTP; gli errori renderanno infatti irraggiungibile anche l'editor messo a disposizione dall'applicazione;
  • se si lasciano degli spazi vuoti alla fine del file .htaccess, potrebbe succedere che le pagine del sito non siano più raggiungibili; questo (come nel caso precedente) non significa naturalmente che i nostri dati siano spariti, molto più semplicemente saranno momentaneamente irraggiungibili fino a quando non verrà cancellato il file .htaccess e sostituito con uno nuovo corretto;
  • Se il file .htaccess è stato digitato correttamente ma le pagine del sito non sono comunque visibili, è molto probabile che nella configurazione del Web server Apache non sia stata abilitata la direttiva AllowOverride; per correggere il problema bisognerà editare il file "httpd.conf" e controllare che la direttiva non sia impostata su "None". Se così fosse dovremmo modificare "None" in "All".

Ti consigliamo anche