TheJoe.it Into the (open) source

6gen/117

Usare “.htaccess” per riscrivere le estensioni delle pagine

php_html

Nella guida di oggi torniamo a parlare di ".htaccess", questa volta utilizzeremo il "mod_rewrite" per cambiare l'estensione ai file in modo che effettuando una richiesta a "file.html" la richiesta venga girata a "file.php" lasciando inalterata la URL.

Il tutorial di oggi è molto breve e molto facile. Le seguenti righe di codice fanno tutto il lavoro:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php [nc]

Salviamo il file chiamandolo ".htaccess", all'interno della directory in cui le estensioni debbano essere riscritte e proviamo a richiamare un file PHP dandogli come estensione HTML.

Se tutto funziona non dovrebbero esserci differenze fra il file PHP e il file HTML. In realtà si tratta di un unico file PHP "mascherato" da HTML. Ora tutti i file con estensione PHP presenti nella directory in cui risiede il file ".htaccess" verranno visualizzati anche se richiamati con l'estensione HTML.

Per avere un'idea del funzionamento questa è la pagina PHP originale, inserendo i due termini nei box verrà richiamato un secondo file chiamato "result.html". Sul server, invece, è caricato il file "result.php" che mostra i termini digitati nella pagina precedente. Si, questa procedura funziona anche con gli script. Nell'URL l'utente continuerà a vedere "result.html".

Questa tecnica è molto utile ad esempio nel caso in cui i link interni del sito su cui stiamo lavorando puntassero ad una pagina HTML, che in origine era statica, ma ora vogliamo renderla dinamica. Cambiare i link di tutte le pagine sarebbe un enorme spreco di tempo, in questo modo sarà sufficiente caricare un singolo file ".htaccess" con queste istruzioni e la pagina PHP verrà richiamata con tutte le sue caratteristiche anche se l'estensione visualizzata continuerà ad essere HTML.

About

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.

Commenti (7) Trackback (0)
  1. A quanto pare mi sbagliavo. Il forum di Giorgio Tave è chiaramente più indicato alla tua domanda.
    Però ti segnalo un’altra volta che se decidi di oscurare le vecchie pagine e tenere solo quelle nuove potrebbe avere ripercussioni sui motori di ricerca, al contrario se lasciassi le vecchie pagine visitabili non dovresti avere problemi. Tutto questo “secondo me”, forse sbaglio.

  2. la sitemap e il file robort.txt si lasciano invaritati oppure bisogna effettuare la modifica dell’estensione?

  3. Rimane di certo tutto invariato per i motori di ricerca, le pagine in “html” non vengono oscurate, come ti ho già detto se non imposti una ulteriore regola specifica nell’htaccess gli stessi contenuti saranno raggiungibili con l’una o l’altra estensione (html o php).
    Se non ti sembra logico sei libero di obiettare, ma almeno usa qualche argomento come ho fatto io, non “sta a vedere”.

  4. bhe, di certo il cambiamento c’e rinominado le pagine in .php. Sta vedere se utilizzando quel codice si farà in modo che tutto rimane invariato per i motori di ricerca. Ti ringrazio cmq per avermi risposto

  5. In realtà non sono un grande esperto di SEO (;)) ma per come la vedo io non dovresti essere penalizzato, alla fine al motore di ricerca non cambia nulla, le vecchie pagie (a meno che tu non scriva altre regole) rimangono a lui accessibili. Ma potrei sbagliarmi.

  6. mi spiego meglio; rinonimo pagine da .html a php ed inserisco il codice nell .htaccess per farsì che le pagine continuano ad essere viste ed indicizzate in .html

  7. Ottima guida ma ho un dubbio. Se rinomino le pagine già indicizzate .html in php ed inserisco il codice nell .htaccess cosa succede nei motori di ricerca? perdo posizioni? pagerank?


Leave a comment

Ancora nessun trackback.