Rimuovere estensioni dagli URL con htaccess

Mattepuffo's logo
Rimuovere estensioni dagli URL con htaccess

Rimuovere estensioni dagli URL con htaccess

La regole RewriteRule di Apache è di sicuro una delle più usate, in quanto consente di rendere gli URL ben formati e di più facile lettura per i motori di ricerca.

In genere una delle cose che si fa subito è quella di cambiare l'estensione, anche per non far vedere il linguaggio usato.

Molto spesso, invece, si desidera levarla del tutto l'estensione, rendendo così l'URL più "parlante".

Vediamo come ottenere questo usando il classico fila .htaccess:

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.php [NC,L]

La prima riga è indispensabile.

In questo caso leviamo l'estensione dei file in PHP; per levarne un'altra basta che la sostituite con quella che volete.

Ad esempio:

RewriteRule ^([^.]+)$ $1.html [NC,L]

Adesso dovreste essere in grado di accedere all'indirizzo senza mettere l'estensione; una cosa del genere: www.miosito.it/linux e non www.miosito.it/linux.php.

Enjoy!


Condividi

3 Commenti

  • elio

    ciao, in questo post dici che il RewriteRule di Apache consente di rendere gli URL di più facile lettura per i motori di ricerca. Quindi le URL pulite vanno anche inserite sul file sitemap.xml? Ti chiedo questo per capire se Google deve indicizzare le url pulite.

    13/05/2018
  • fermat

    ciao! si devi cambiare gli urli anche negli script!

    13/05/2018
  • elio

    ciao, ma le url pulite vanno anche inserite sullo script? Altrimenti si apre quella con l'estensione.

    12/05/2018

Commentami!