browser lang:en
Prima di cominciare
0.0- Requisiti
- conoscenza base delle espressioni regolari
Uno sguardo da vicino
1.0- Cosa è il mod_rewrite
mod_rewrite è un modulo per Apache, il webserver più usato nel mondo Unix. Il modulo associa "al volo" un URL virtuale (non residente sul filesystem) ad uno reale, tramite delle regole definite nei file .htaccess
1.1- Come si attiva
Se sei in un hosting condiviso, non devi fare niente: il modulo è attivo di default nella maggior parte dei casi. In ogni caso prima di acquistare un piano d'hosting chiedi esplicitamente se il modulo è installato!
Se lavori invece su un tuo server dedicato / VPS / localhost, molto probabilmente devi attivare il modulo a mano:
- per Apache2 a2enmod rewrite come root
- per Apache1 è necessario decommentare la linea LoadModule mod_rewrite nel file di configurazione
Apache di default ignora i file .htaccess (e di conseguenza le tue regole!) - per farglieli leggere devi modificare la direttiva AllowOverride all'interno del file di configurazione. Ricorda di riavviare il webserver.
1.2- La prova del nove
Per controllare se il modulo funziona:
Livello 1) crea una pagina .php contenente
Codice PHP:
<?php phpinfo(); ?>
Attenzione!! Caricato in memoria non vuol dire utilizzabile - infatti se il modulo è presente, ma i file .htaccess vengono ignorati (vedi sopra), le regole di riscrittura non funzioneranno! Per questo entra in gioco il
Livello 2) testare se effettivamente gli indirizzi vengono riscritti: scarica questo file e segui le istruzioni contenute nell'archivo stesso.
1.3- Struttura di un file .htaccess
Riporto la struttura "base" di un file .htaccess contenente una semplice regola
Codice:
RewriteEngine On
RewriteRule ^index.html$ fooindex.php [L]
La prima linea attiva l'engine (va sempre inserita)
La seconda linea specifica una regola (RewriteRule) composta da:
* l'URL da riscrivere, tra ^ (inizio stringa) e $ (fine stringa), quasi sempre formato da espressioni regolari
* l'URL al quale inviare la richiesta
* parametri (tra parentesi quadre, separati da virgole)
o L "ultimo" -> paragonabile al break, dice all'engine di fermarsi e di non controllare le altre regole
o R=301 -> invia un header di contenuto spostato in modo permanente e crea il redirect
o R=302 -> invia un header di contenuto spostato in modo temporaneo e crea il redirect
o QSA "accoda query string" -> se l'URL richiesto contiene più parametri di quelli previsti, vengono accodati - utile se si vogliono mettere parametri a pagine con indirizzi riscritti (!!).
Inserendo queste due righe in domain.tld/.htaccess, quando un utente visita domain.tld/index.html il webserver invia la pagina domain.tld/fooindex.php. L'utente non si accorge di niente.
Deep focus:
- se fooindex.php non esiste, l'utente vede "404 fooindex.php", anche se ha richiesto index.html
- index.html può anche non esistere: il webserver invierà al client direttamente il file php senza neppure curarsi del file html
Per i piú smemorati, una lista di comandi principali usati con linux cd : cambia la directory corrente. ls : mostra il…
in:Scripts e tutorials (0 commenti)Con l'avvento di caffeine molti webmaster si sono trovati a dover rivedere tutte le strategie SEO per i…
in:Scripts e tutorials (0 commenti)Questo è un widget di jQuery per il nuovo social network di Google-Buzz-che è possibile incorporare ovunque per…
in:Scripts e tutorials (0 commenti)Questo é un pratico codificatore/decodificatore/decriptatore (chiamatelo come volete) di password inserite nei file di configurazione .ste su dreamweaver function…
in:Scripts e tutorials (0 commenti)Il PageRank è un algoritmo che usa Google per valutare la credibilità e l'autorevolezza delle pagine Web. Il…
in:Scripts e tutorials (8 commenti)Con questo script possiamo limitare il download di un file dal nostro server php; il limite di velocitá…
in:Scripts e tutorials (0 commenti)Alcuni host hanno disabilitati nei settaggi del.ini i comandi allow_url_fopen. Questo significa anche non poter usare i vantaggi…
in:Scripts e tutorials (2 commenti)Gli SHORT URLS fanno ormai parte di quelle cose di internet che ci suonono terribilmente familiari; per capirci…
in:Scripts e tutorials (0 commenti)
