Scoperta del giorno che mi facilitera’ MOLTO la vita ;-)
Dato un sito pieno di pagine con estensione .html che devono diventare .php e visto che sul server Apache2 di tale sito il trucchetto per far eseguire come PHP anche le pagine con estensione diversa non va, ecco due soluzioni ottenibili con mod_rewrite. La prima e’ questa:
RedirectMatch permanent (.+)\.s?html? $1.php
Questo sistema causa il cambio dell’URL nella barra del browser e fa reindicizzare la pagina dai motori di ricerca. E’ la strada migliore e piu’ trasparente.
Chi invece desidera rendere la coosa totalmente trasparente (l’URL resta invariato e nessuno sapra’ che il file in realta’ e’ un php) ecco un’alternativa:
RewriteEngine on
RewriteRule (.+)\.s?html? $1.php
Entrambe le sequenze vanno poste in un file .htaccess nella cartella del server in cui devono avere effetto.
Attenzione che l’espressione regolare usata gestisce le
estensioni .htm , .html , .shtm e .shtml
Questo significa che se avevate link ai file info.htm, info.html e info.shtml con queste impostazioni punteranno tutti a info.php.
Perche’ scrivo questo sul blog?
Beh, intanto per rendere noto al mondo che sto imparando
sempre piu’ cose sulla gestione avanzata dei server, poi per
far capire come ancora una volta i software open source
(Apache in questo caso) si dimostrino piu’ flessibili di quelli proprietari
(IIS), ma soprattutto per offrire un pubblico servizio.
Ho scoperto infatti che tanta gente arriva su questo blog cercando
non tanto il mio blog ma cose specifiche, come le
frasi fuori campo della bambina di Taken (date in un post
precedente), quindi vale la pena continuare e offrire
informazioni utili che magari non ero il solo a cercare ;-)
Per saperne di piu’ guardate questa guida avanzata a mod_rewrite.
PS: amo le espressioni regolari, si e’ capito? ;-)