Cómo quitar las extensiones .php o .html de la URL usando .htaccess

Categoría: Hospedaje web

Remover extensiones .php de la URL

Si te interesa tener las URLs de tu sitio más limpias, puedes configurar tu cuenta para quitar las extensiones .php o .html. El resultado son URLs más estéticas: por ejemplo, en vez de https://www.example.com/demo.php se mostraría https://www.example.com/demo. Algunos afirman que también ayuda al SEO.

Para lograrlo, crea un archivo .htaccess (incluyendo el punto, si aún no existe) directamente en el directorio public_html y agrega el siguiente código:

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

Con este código, si un visitante entra a /demo, internamente se sirve /demo.php pero la URL se mantiene sin la extensión. Sin embargo, si entra directamente a /demo.php, no se redirige a /demo. Para forzar también esa redirección añade lo siguiente:

RewriteEngine on
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [NC,L,R]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [NC,L]

Remover extensiones .html de la URL

Si necesitas quitar extensiones .html, el código es muy similar:

RewriteEngine on
RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]

¡Listo! Ahora puedes diseñar tu sitio con enlaces limpios:

<a href="https://example.com/mipagina" title="mipagina">mipagina</a>

Conclusión

El archivo .htaccess es muy útil para limpiar URLs y hacerlas más amigables, pero su sintaxis puede ser complicada. Si lo necesitas, hay herramientas en línea que te ayudan a generarlo, por ejemplo el htaccess editor .

¿Aún necesitas ayuda?

Si esta guía no resolvió tu problema, nuestro equipo te ayudará por ticket.