Archivo .htaccess, una poderosa herramienta que te permite llegar más allá en tu página web

que-es-archivo-htaccess

¿Necesitas hacer cambios en la configuración de los archivos de tu servidor y no sabes por dónde empezar? ¿Te da miedo cambiar algo y romperlo todo? Ojalá hubiese alguna manera de poder hacer todo eso sin el engorro de tocar donde no debes y pudiendo siempre dar vuelta atrás, ¿verdad?

Pues tenemos buenas noticias para ti. Existe, se llama archivo .htaccess y en el post de hoy te descubrimos todos sus secretos: en qué consiste, cómo se crea, ejemplos de lo que puede hacer, etc.

¿Te interesa conocer algo así? Entonces solo tienes que seguir leyendo.

¿Qué es el archivo .htaccess?

La Wikipedia lo define de la siguiente manera:

Un fichero .htaccess (hypertext access), también conocido como archivo de configuración distribuida, es un fichero especial, popularizado por el Servidor HTTP Apache que permite definir diferentes directivas de configuración para cada directorio (con sus respectivos subdirectorios) sin necesidad de editar el archivo de configuración principal de Apache.

O dicho con un lenguaje más llano, se trata de un archivo que te permite alterar la configuración del servidor donde está alojada tu página web. Eso de forma general pero, en particular, se utiliza para:

Todo ello sin tener que “tocar” de forma directa en el servidor y sin tener que reiniciarlo ante cada cambio.

Cómo crear tu propio archivo .htaccess

Al igual que ocurre con el archivo robots.txt y con el sitemap.xml, para tener tu propio .htaccess solo necesitas cualquier editor de textos y conocer su sintaxis. Pero antes de ponerte manos a la obra, debes saber que:

  • Si ya existe uno en tu servidor, lo mejor es que guardes una copia de seguridad “por si acaso”.
  • El archivo afecta solo a la carpeta en la que está y a las que haya debajo, por lo que su lugar idóneo es el directorio raíz.
  • Admite comentarios poniendo al principio de cada frase una almohadilla (#).

Y por último (y más importante) el archivo .htaccess usa formato ASCII y no tiene extensión. Esto lo decimos porque, si usas el bloc de notas por ejemplo, al guardarlo hay que vigilar que no añada al final del nombre un “.txt”, ya que eso hará que no funcione.

En resumen, el archivo que subas al hosting debe llamarse “.htaccess” a secas.

Ejemplos de .htaccess, ¿qué puedes hacer con este archivo?

Toda la teoría que te hemos contado hasta ahora está muy bien, pero tú lo que quieres es ver todo lo que el archivo .htaccess es capaz de hacer, ¿verdad? Ni cien mil palabras más… Tus deseos son órdenes. 😉

1. Cambiar las páginas de error

Por mucho que sigas los mejores consejos de SEO que hay, si en tu sitio web hay páginas que muestran un error, los buscadores te penalizan. Por eso es tan importante que eso no ocurra.

Y para evitarlos, al menos el 404 que es el más común, basta con una sola línea en el archivo .htaccess:

ErrorDocument 404: “¡Ups! Parece que algo ha salido mal…” o el texto que quieras entre comillas.

O si lo prefieres, puedes redirigir a una página que has creado en exclusiva para eso con la siguiente línea:

ErrorDocument 403 /paginas/error403.html

Si te fijas, el código del error es otro… Es a posta para que veas que basta con cambiarlo en función al error que quieras solucionar.

2. Bloquear los bots malignos

Se conocen como “bots” a los programas que crean las compañías para rastrear las páginas web. Google tiene los suyos al igual que Bing, Yahoo y muchas más empresas. ¿Cuál es el problema? Que algunas han puesto en circulación bots con intenciones de atacar blogs, tiendas online y todo tipo de sitios web sobrecargárdando sus servidores.

Si has elegido bien tu empresa de hosting en principio estás seguro pero, como nunca viene mal añadir un extra de protección, veamos cómo se hace desde el .htaccess:

RewriteEngine on

RewriteCond %{HTTP_REFERER} 7makemoneyonline\.com [NC,OR]

RewriteCond %{HTTP_REFERER} burger-imperia\.com [NC,OR]

En este ejemplo hemos bloqueado dos sitios y, si quieres ver una lista de todos los que deberías bloquear, la tienes aquí.

3. Añadir contraseña a un directorio

En este otro post te enseñamos cómo proteger tu WordPress de los piratas informáticos pero, a parte de esas medidas, bloquear los archivos y carpetas más importantes con una clave es una buena opción.

Algo que puedes hacer con .htaccess (que además sirve para el CMS por excelencia o para cualquier otro tipo de página) siguiendo estos sencillos pasos:

  1. Crea un archivo con el nombre .htpasswd donde escribir el usuario y contraseña codificados. Para ello, puedes usar esta página web.
  2. Una vez que tengas el archivo con los datos codificados, súbelo al servidor en una carpeta distinta a la que quieras proteger.
  3. En el directorio que quieres proteger, crea un .htaccess con el siguiente código:AuthName “Directorio cifrado”
    AuthUserFile /carpeta/.htpasswd
    AuthType basic
    Require valid-user “Directorio cifrado”

Ahora cada vez que alguien intente entrar, solo podrá hacerlo si conoce el usuario y la contraseña.

4. Forzar el uso de HTTPS

Hace un tiempo vimos la importancia que tiene para tu página web el uso de https, en especial si se trata de una tienda online. Por eso, si tu negocio tiene un certificado SSL es vital que obligues a todo el mundo a que entre a través de él.

Y hacerlo resulta tan sencillo como copiar estas 3 líneas de código en tu archivo .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Eso sí, incluir algo así sin disponer de certificado SSL lo más probable es que impida acceder a la página y genere un error.

¿Conoces algo más que el archivo .htaccess pueda hacer?

Estos son solo algunos ejemplos de lo que se puede conseguir gracias al archivo .htaccess, pero hay mucho más. ¿Conoces algo más que se pueda hacer con él? ¿Has implementado alguno de los ejemplos que hemos visto en el post?

Contéstanos a esas preguntas, o cuéntanos lo que te apetezca, usando los comentarios que hay justo debajo de estas líneas. Y si va a ser tu primera vez, nos encantaría que volvieses y nos contases tu experiencia. 😉