Soporte

author
6 minutes, 30 seconds Read
Actualizado el 4 de octubre de 2018

¿Qué es .htaccess?

El archivo .htaccess(también conocido como archivo de acceso al hipertexto) se utiliza para definir configuraciones específicas para los servidores web que funcionan con Apache. Este archivo de configuración afecta al directorio en el que se almacena, así como a todos los subdirectorios dentro de ese directorio. Por ejemplo, si el archivo .htaccess se encuentra dentro del directorio raíz, afectará a todo el sitio. Por otro lado, si el archivo se encuentra en un directorio específico, sólo afectará a ese directorio y a cualquier subdirectorio dentro de él.

Algunas plataformas CMS como WordPress y Drupal también vienen con archivos .htaccess para permitirle especificar ciertas configuraciones que son aplicables únicamente a ese sitio. El archivo .htaccess se puede utilizar para lograr una variedad de cosas, incluyendo:

  • Realizar redirecciones
  • Personalizar las páginas de error
  • Restringir a los usuarios en función de la IP
  • Añadir tipos MIME
  • Configurar las cabeceras HTTP
  • Proteger con contraseña ciertas carpetas

El archivo .htaccesspuede utilizarse para conseguir mucho más, sin embargo, la lista anterior está entre los usos más populares de .htaccess. La sección a continuación se describen varios ejemplos de .htaccess y cómo se puede utilizar dentro de su propio sitio.

.htaccess ejemplos

Hay una gran cantidad de posibilidades de configuración que se puede lograr dentro de la .htaccess archivo. La siguiente lista es algunos de los ejemplos más utilizados.

Redirigir a los usuarios a una página de error específica

Basado en el código de estado que devuelve un archivo o página en particular, puede redirigir al usuario a una página de error personalizada. El ejemplo siguiente muestra algunas variaciones que puede utilizar. Cada una depende del código de estado que se devuelve.

ErrorDocument 403 /forbidden.htmlErrorDocument 404 /notfound.htmlErrorDocument 500 /servererror.html

Añadir una cabecera y valor personalizados

También se pueden añadir cabeceras HTTP personalizadas a través del archivo .htaccess. Hay algunas opciones de sintaxis, como set que reemplazará cualquier cabecera anterior que tenga el mismo nombre, add que añadirá la cabecera incluso si existe otra con el mismo nombre. Visite la guía de cabeceras de página de Apache para obtener más información.

Header set X-Custom "Custom Value"

En el ejemplo anterior, el texto X-Custom corresponde a la cabecera HTTP que se devolverá en la respuesta HTTP, mientras que el texto Custom Value corresponde al valor de esta cabecera en particular.

Bloqueo de usuarios basado en la IP

Para fines de seguridad, puede bloquear a los usuarios en función de su IP dentro del archivo .htaccess. En el siguiente ejemplo, hay dos IPs que están bloqueadas. También podemos decidir no incluir el último dígito de la dirección IP, lo que hará que se bloqueen todas las IPs que contengan los tres primeros dígitos.

order allow,denydeny from 255.x.x.xdeny from 123.x.x.xallow from all

Bloqueo de referenciadores (protección de hotlinks)

El bloqueo de referenciadores, también conocido como protección de hotlinks, es un método utilizado para bloquear a ciertos referenciadores para que no hagan referencia a los activos de su sitio web y, por lo tanto, roben su ancho de banda. Utilice el siguiente fragmento para definir qué dominios no pueden hacer referencia a su contenido y, por lo tanto, recibirán un error 403 Forbidden.

RewriteCond %{HTTP_REFERER} unwanteddomain\.com RewriteCond %{HTTP_REFERER} unwanteddomain2\.comRewriteRule .* - 

También se puede lograr una funcionalidad similar a través del panel de control de KeyCDN. Para saber cómo implementar la protección de hotlinks en su Zona KeyCDN, visite nuestra guía de Referrers de Zona.

Añadir tipos MIME

Los tipos MIME definen a qué se refiere una determinada extensión de archivo. Por lo tanto, a veces es necesario establecer esto en su archivo .htaccess para informar al servidor web de qué tipo de archivo está haciendo referencia. Para ver una lista completa de tipos MIME, visite la lista de tipos MIME.

AddType image/gif .gif .GIF

Aprovechando la caché del navegador

El archivo .htaccess también puede utilizarse para ayudar a mejorar el rendimiento del sitio web aprovechando la caché del navegador. Cada tipo de archivo puede definirse con un valor de caducidad determinado. Puede definir una lista personalizada de tipos de archivo y cambiar cada uno de sus valores de caducidad, sin embargo, el siguiente fragmento es un buen punto de partida.

## EXPIRES CACHING ##<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month"</IfModule>## EXPIRES CACHING ##

Habilitar Gzip

Habilitar Gzip en su servidor de origen ayuda a mejorar el rendimiento de sus activos ya que se comprimen y por lo tanto pueden ser entregados más rápido. Puede definir una lista personalizada de tipos MIME que se comprimirán con Gzip, aunque el ejemplo siguiente es un buen punto de partida. Para obtener más información sobre los beneficios de Gzip y cómo funciona, lea nuestro artículo Habilitar la compresión Gzip.

<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml</IfModule>

Negar los métodos de solicitud HTTP

Hay varios métodos de solicitud HTTP que se utilizan para lograr diversos resultados. Si hay ciertos métodos HTTP que no quieres que un usuario emplee en tu sitio web, puedes negarlos con .htaccess.

RewriteCond %{REQUEST_METHOD} !^(HEAD|OPTIONS|POST|PUT)RewriteRule .* - 

Realizar redirecciones 301

Si necesitas realizar una redirección 301 para una página que se ha movido, esto se puede lograr fácilmente con .htaccess. Simplemente utilice el siguiente fragmento que toma la primera URL (enlace antiguo) y la redirige a la segunda URL (enlace nuevo).

Redirect 301 https://yourwebsite.com/old-page https://yourwebsite.com/new-page

Habilitar CORS

Habilitar CORS es crucial para entregar activos estáticos a través de varios orígenes. El siguiente fragmento puede añadirse a su archivo .htaccess para permitir que todos los orígenes compartan recursos. De lo contrario, si no está habilitado y su origen solicita recursos de otro origen, recibirá un error CORS. Lea más sobre CORS en nuestro artículo Cómo usar CORS.

<IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css|js|gif|png|jpe?g|svg|svgz|ico|webp)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch></IfModule>

Los ejemplos anteriores de .htaccess son un gran punto de partida para aquellos que aún no están familiarizados con el uso de .htaccess, pero todavía quieren realizar ciertas configuraciones del servidor web. El archivo .htaccess tiene la capacidad de realizar una serie de tareas y es bastante flexible para adaptarse a las necesidades de su sitio web. Aunque estos ejemplos de .htaccess son un gran punto de partida, es posible que desee realizar algunas configuraciones de .htaccess más avanzadas. Para más información sobre este tema, considere consultar el artículo de la guía de archivos .htaccess de AskApache.

Similar Posts

Deja una respuesta

Tu dirección de correo electrónico no será publicada.