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!
apache htaccess rewriterule php html server url multiviews rewritecond
3 Commenti
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/2018ciao! si devi cambiare gli urli anche negli script!
13/05/2018ciao, ma le url pulite vanno anche inserite sullo script? Altrimenti si apre quella con l'estensione.
12/05/2018