Está en la página 1de 7

29/9/2020 Información y usos del fichero .

htaccess : CDmon

Información y usos del fichero .htaccess


Modificado en: Mar, 19 Mar, 2019 at 9:55 AM

1.- ¿Qué es un .htaccess?


El .htaccess (acceso de hiper-texto) es el nombre por defecto del archivo de configuración de directorios de Apache. Se
utiliza para personalizar la configuración de directivas y parámetros definidos en el archivo de configuración principal del
alojamiento.

2.- ¿Cómo creamos y dónde colocamos un fichero .htaccess?


Para crear un fichero .htaccess, abre el bloc de notas e introduce el código necesario. Guarda el fichero como fichero de
texto (.txt), por ejemplo "fichero_htaccess.txt", y lo subes por FTP (https://support.cdmon.com/entries/24119273-
C%C3%B3mo-conectar-por-FTP-mediante-webFTP?set_locale=2) a la carpeta donde tiene que utilizarse. Una vez en el
servidor, modifica el nombre del fichero "fichero_htaccess.txt" por el de ".htaccess".

Importante: si ya dispones de un fichero .htaccess dentro de tu alojamiento, puedes utilizarlo para realizar estas
configuraciones.

El .htaccess debe colocarse en el interior de la carpeta donde quieres que tenga efecto. Por ejemplo, si quieres proteger
con contraseña una carpeta llamada "privado", coloca el .htaccess dentro de la carpeta "privado".
El fichero .htaccess tiene una gran variedad de usos y utilidades que pueden resultar útiles en la web. En el siguiente
tutorial mostramos algunas de las funciones más utilizadas.

3.- Utilidades comunes del .htaccess


El .htaccess tiene un gran número de utilidades. En este tutorial te mostramos algunas de las utilidades más comunes y
cómo las debes configurar:

Redirigir subdominio a subcarpeta (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-


htaccess#a1)
Redirigir web mediante redirecciones 301, 302 (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-
del-fichero-htaccess#a2)
Redirigir web a subcarpeta (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-
htaccess#a3)
Control de acceso al sitio (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-
htaccess#a4)
Control de acceso a carpetas (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-
htaccess#a5)
Listado de carpetas (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-htaccess#a6)
Redirigir peticiones con www.example.org a example.org y al contrario (https://support.cdmon.com/entries/24118027-
Informaci%C3%B3n-y-usos-del-fichero-htaccess#a7)
Redirigir web amigable con SEO (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-
htaccess#a8)
Redireccionar el tráfico web (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-
htaccess#a9)
Redireccionar a conexión segura HTTPS (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-
fichero-htaccess#a10)
Redireccionar usuarios para usar HTTPS para una carpeta en particular (https://support.cdmon.com/entries/24118027-
Informaci%C3%B3n-y-usos-del-fichero-htaccess#a11)

https://ticket.cdmon.com/es/support/solutions/articles/7000006237-información-y-usos-del-fichero-htaccess 1/7
29/9/2020 Información y usos del fichero .htaccess : CDmon

Evitar el hotlinking (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-htaccess#a12)


Cambiar la pagina por defecto (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-
htaccess#a13)
Forzar el cacheo de nuestro sitio (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-
htaccess#a14)
Mejorar la compatibilidad de los caracteres (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-
fichero-htaccess#a15)
Crear URL amigables (https://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-htaccess#a16)

Redirigir subdominio a subcarpeta


En algunas situaciones puedes necesitar crear una redirección a la carpeta de un subdominio desde .htaccess. Si quieres
que al indicar el subdominio "test.example.org", por ejemplo, te lleve a la carpeta "ejemplo.org/test" debes indicar las
siguientes directivas en el fichero .htaccess:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^test.example.com$
RewriteCond %{REQUEST_URI} !^/test/
RewriteRule (.*) /test/$1

La primera línea activa el motor de redirecciones y, solamente es necesario indicarla, si no se ha hecho antes.
La tercera y cuarta, realizan la redirección.
Y, la segunda, impide que la redirección se haga de nuevo, en caso de estar ya en la carpeta "test". Esto es necesario
para evitar errores y bucles, ya que el fichero .htaccess vuelve a ejecutarse al redirigir la petición a la carpeta "test".

Redirigir web mediante redirecciones 301, 302


Si al acceder a la web, quieres redirigir la página a otra:

RewriteEngine On
RewriteRule ^(.*)$ http://www.webaredirigir.com/$1 (http://www.webaredirigir.com/%241) [R=301,L] (En "R=301",
podemos poner el método de redirección que deseamos '301, 302..')

Redirigir web a subcarpeta


Si tienes la web en una subcarpeta diferente de la carpeta "web", puedes redirigir todas las consultas a esta subcarpeta:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.org\.org$
RewriteRule (.*) http://www.example.org/$1 (http://www.example.org/%241) [R=301,L]
RewriteRule ^$ carpeta [L]

Donde:
example.org\.org sería, por ejemplo, cdmon.com\.com.
La carpeta sería, por ejemplo, "wordpress".

Control de acceso al sitio


Puedes hacer que, si por alguna razón deseas denegar el acceso a todos los usuarios o sólo permitir a un cierto grupo de
direcciones IP, tengan acceso a nuestro sitio.

Para permitir el acceso a tu sitio solo a ciertas IPs:

ErrorDocument 403 http://www.example.org (http://www.example.org)

https://ticket.cdmon.com/es/support/solutions/articles/7000006237-información-y-usos-del-fichero-htaccess 2/7
29/9/2020 Información y usos del fichero .htaccess : CDmon

Order deny,allow
Deny from all
Allow from 124.34.48.165
Allow from 102.54.68.123

Las IPs 124.34.48.165 y 102.54.68.123 son las IPs que tendrán acceso a la web.

Denegar el acceso al sitio solo a ciertas IPs:

Allow from all


Deny from 145.186.14.122
Deny from 124.15

La IP 145.186.14.122 y la red 124.15.x.x no tendrán acceso a la web.

Control de acceso a carpetas


Un uso muy común del .htaccess es impedir el acceso a algunas carpetas. Puede que quieras deshabilitar totalmente el
acceso a una carpeta, por ejemplo, una carpeta con librerías de programación que se incluyen en los archivos principales.
En este caso, sólo los archivos principales accederán a ellos mediante el sistema de archivos, pero no se podrán acceder
vía web. Simplemente creas un archivo .htaccess en esa carpeta que contenga el siguiente codigo si deseas:

Prohibir o deshabilitar por completo el acceso a una carpeta:

#deny all access


deny from all

Permitir el acceso desde una IP específica:

#deny all access


deny from all
allow from 212.267.98.14

Permitir el acceso a un rango específico de IPs (forzado mediante la máscara de red):

allow from 192.168.0.0/24

Bloquear el acceso a un archivo específico:

Order allow,deny
Deny from all

Listado de carpetas
También puedes utilizar el .htaccess para mostrar el contenido de una carpeta en la estructura de directorios.

Options +Indexes

Listado de carpetas, pero no quieres que se muestren los iconos por defecto:

Options +Indexes
IndexOptions -FancyIndexing
https://ticket.cdmon.com/es/support/solutions/articles/7000006237-información-y-usos-del-fichero-htaccess 3/7
29/9/2020 Información y usos del fichero .htaccess : CDmon

También podrías querer evitar el listado de carpetas:

IndexIgnore*

Redirigir peticiones con www.example.org (http://www.example.org) a example.org y al contrario


Si quieres que tu web se vea siempre sin www, añadimos el siguiente código en el .htaccess:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(robots\.txt|favicon\.ico|sitemap\.xml)$
RewriteCond %{HTTP_HOST} !^example\.org$ [NC]
RewriteRule ^(.*)$ http://example.org/$1 (http://example.org/%241) [R=301,L]

Al revés, que la web se vea siempre con www:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(robots\.txt|favicon\.ico|sitemap\.xml)$
RewriteCond %{HTTP_HOST} !^www\.example\.org$ [NC]
RewriteRule ^(.*)$ http://www.example.org/$1 (http://www.example.org/%241) [R=301,L]

Donde:
example.org podría ser, por ejemplo, cdmon.com

Redirigir web amigable con SEO


Si has transferido nombres de dominio o deseas redireccionar a una página específica sin que afecte a los resultados de
los motores de búsqueda como Google, puedes utilizar el siguiente código:

Redirect 301 /d/nombredelarchivo.html http://www.example.org (http://www.example.org)

Redireccionar el tráfico web


Si lo que deseas es que, si alguien intenta acceder a un archivo en concreto le redirija a otro fichero, puedes utilizar la
directiva "redirect":

Redirect /fichero.php http://example.org/otros/nuevofichero.php (http://example.org/otros/nuevofichero.php)

Redireccionar a conexión segura HTTPS


Si deseas redireccionar todo tu sitio a una conexión segura (HTTPS), esto es muy útil si, por ejemplo, dispones de un
certificado SSL y quieres trabajar con él.

RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

Redireccionar usuarios para usar HTTPS para una carpeta en particular


Si lo que deseas es sólo redireccionar a una conexión segura (HTTPS) una carpeta en particular en vez de todo el sitio,
por ejemplo, tienes una tienda en una carpeta aparte de tu sitio, hay que usar el siguiente código:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} nombre_de_la_carpeta
RewriteRule ^(.*)$ https://www.example.org/$1 (https://www.example.org/%241) [R,L]
https://ticket.cdmon.com/es/support/solutions/articles/7000006237-información-y-usos-del-fichero-htaccess 4/7
29/9/2020 Información y usos del fichero .htaccess : CDmon

Evitar el hotlinking
El hotlinking consiste en realizar un enlace directo a ficheros, generalmente imágenes y vídeos, que pertenecen a otra
web. Esta práctica consume la transferencia del sitio original de la imagen. Para evitar que te "roben" ancho de banda
puedes configurar el .htaccess para impedir el hotlinking.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.org/.*$ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ [L]

La ultima linea sirve para indicar qué tipo de contenido no deseas (se escoge en función de las extensiones de los
archivos) que te cojan:

RewriteRule .*\.(jpe?g|gif|bmp|png)$ [L]

O bien, esta otra regla que, además muestra un archivo ("no_robar_ancho_de_banda.gif" que debes haber creado
previamente) para advertir que esta imagen este siendo cogida de tu web.

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/IMG/no_robar_ancho_de_banda.gif$
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.org/.*$ [NC]
RewriteRule .*(gif|jpe?g|png|bmp)$ http://example.org/IMG/no_robar_ancho_de_banda.gif
(http://example.org/IMG/no_robar_ancho_de_banda.gif) [NC,R,L]

En la última línea pon las extensiones de los ficheros que quieres impedir que nos enlacen e indica la imagen de
advertencia que quieras.

Cambiar la pagina por defecto


Puedes hacer que la página índice de tu sitio a mostrar no sea la archiconocida "index". Aquí se establece "about.html"
como página de inicio:

#Serve Alternate Default Index Page


DirectoryIndex about.html

Forzar el cacheo de tu sitio


El siguiente código no va a incrementar directamente la velocidad de carga del sitio en general, pero sí va a cargar más
rápido cuando el mismo usuario vuelva a visitarlo, al enviar un status 304 cuando se pidan elementos que no han sido
modificados. Puedes cambiar la frecuencia de cacheo al cambiar el número de segundos (en este ejemplo se da una vez
al día):

FileETag MTime Size


ExpiresActive on
ExpiresDefault "access plus 86400 seconds"

Mejorar la compatibilidad de los caracteres


Esta opción es para aquellos que no utilizan un juego de caracteres estándar reconocido por el servidor, con esta medida
se evita mostrar el famoso error 500.

https://ticket.cdmon.com/es/support/solutions/articles/7000006237-información-y-usos-del-fichero-htaccess 5/7
29/9/2020 Información y usos del fichero .htaccess : CDmon

AddDefaultCharset utf-8

Crear URL amigables


Una URL amigable consiste en disfrazar una URL llena de parámetros para que quede más elegante y para ayudar
también a tener una mejor posición de la página en los buscadores. Según como esté programada la web, el tipo de
código que tendrás que poner será uno u otro.

Ejemplo 1:
Por ejemplo, "carpeta/fichero.php?id=120&idioma=es" es una URL no amigable, por lo que hay que transformarla en
"carpeta/fichero/120/es" que es más elegante y ayuda al posicionamiento en los buscadores. Es una URL amigable. Con
el fichero .htaccess puedes realizar este "disfraz" para la URL.
Tienes una carpeta en tu web que tiene un fichero al que se le pasan parámetros.

example.org/carpeta/fichero.php?id=25

Entonces, dentro de esta carpeta debes crear un .htaccess con el siguiente código:

Options +FollowSymLinks
RewriteEngine on
RewriteRule carpeta/(.*)/(.*).php$ /carpeta/fichero.php?id=$1

En la última línea es donde realizas el cambio.


(.*) será el parámetro que le pasaras, $1.
(.*).php$ será el nombre del fichero para "decorar" la URL.
Una vez creado el .htaccess, en el enlace de tu web debes poner:

Enlace al fichero 25

Por lo tanto, "carpeta/25/nombre-del-fichero.php" será lo mismo que "/carpeta/fichero.php?id=25".

Ejemplo 2:
Si tu web utiliza una URL como la siguiente "http://www.example.org/index.php?parametro=blog
(http://www.example.org/index.php?parametro=blog)", puedes convertirlo a "http://www.example.org/blog
(http://www.example.org/blog)".

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ /index.php?parametro=$1 [QSA,L]

Ejemplo 3:
Otro ejemplo de conversión a URL amigables.
Convertir URL "http://www.example.org/index.php?parametro=blog&paginador=12345
(http://www.example.org/index.php?parametro=blog&paginador=12345)" a "http://www.example.org/blog/pagina-12345
(http://www.example.org/blog/pagina-12345)".

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)/pagina-([0-9]+)$ /index.php?parametro=$1&paginador=$1 [QSA,L]

https://ticket.cdmon.com/es/support/solutions/articles/7000006237-información-y-usos-del-fichero-htaccess 6/7
29/9/2020 Información y usos del fichero .htaccess : CDmon

Ejemplo 4:
Código que utiliza el WordPress para realizar URL amigables.
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Para más información, podéis contactar con nosotros (https://support.cdmon.com/anonymous_requests/new).

https://ticket.cdmon.com/es/support/solutions/articles/7000006237-información-y-usos-del-fichero-htaccess 7/7

También podría gustarte