¿Cómo puedo controlar las extensiones de archivo con un archivo .htaccess?

Crear un archivo .htaccess en su servidor web DreamHost

Consulte el siguiente artículo para obtener instrucciones sobre cómo crear un archivo .htaccess en su servidor web:

Si el archivo ya existe, consulte los siguientes artículos para obtener instrucciones sobre cómo actualizarlo (dependiendo de si está utilizando un cliente FTP o SSH):

¿Qué cambiar en los ejemplos a continuación?

Los siguientes ejemplos se pueden ingresar en tu archivo .htaccess exactamente como se muestra.

Solo si el ejemplo contiene una URL en negrita, debes cambiarla a su URL real. Por ejemplo, si ves el dominio 'example.com', cámbielo a su propio nombre de dominio.

Cambiar la extensión del archivo

Este ejemplo te permite usar una extensión .zig además de la extensión .php normal. Por lo tanto, puedes acceder a un archivo en example.zig y example.php:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^(.+)\.zig$ /$1.php [NC,L]

Forzar otras extensiones de archivo a cargar como PHP

Vea el siguiente artículo que ofrece varios ejemplos sobre cómo forzar que cualquier extensión de archivo se cargue como un archivo .php.

Eliminar la extensión del archivo

Este ejemplo elimina completamente la extensión del archivo de su URL. Entonces, example.php aparecería como example. El siguiente ejemplo es para archivos .php, pero para cualquier otro tipo, simplemente reemplace .php con su tipo deseado y agrega esas líneas y extensiones de la misma manera:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\ HTTP/
RewriteRule ^(.*)index$ http://example.com/$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/$1 [L,R=301]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.+)\.php\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/$1 [L,R=301]
RewriteRule ^([a-z]+)$ /$1.php [L]

Permitir que un archivo se cargue sin la extensión

Este ejemplo no elimina automáticamente la extensión del archivo. Sin embargo, permite que el archivo se cargue sin la extensión. Entonces, si example.com/test.php existe, puedes cargarlo como example.com/test:

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

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.