.htaccess (Diccionario Web 2.0)

.htaccess (Diccionario Web 2.0)Valencia, 13/08/2014, G.B.
El archivo .htaccess es un ‘simple’ archivo de texto plano, sin extensión y oculto que se encuentra en el directorio raíz de tu sitio o proyecto web alojado en un sl servidor web Apache, el servidor web más utilizado en el mundo y basado en distribuciones Linux. Está oculto al tener un punto delante del nombre, característica propia de los sistemas basados en Linux a la hora de ocultar archivos.

Lo importante es que .htaccess contiene una serie de directivas para el servidor web. Así, el servidor web ‘sabrá qué hacer’ ante determinados ‘escenarios’ o circunstancias. Por ejemplo, se usa para restringir el acceso a carpetas, personalizar páginas de errores, redirigir sitios, URL rewriting…

Una buena definición del archivo .htaccess es la que nos da la Wikipedia:

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. Fuente: Wikipedia

Todos los CMS (gestores de contenido) basados en PHP disponen de este archivo de configuración oculto, habitualmente en el directorio raíz de la instalación de tu CMS, como WordPressPHP LD o Joomla!, entre muchos otros. La buena noticia es que no es necesario que lo crees a mano, aunque podrías hacerlo con cualquier editor de texto plano, o de texto plano ‘enriquecido’. Así, con el notepad de Windows puedes hacerlo, el gedit de Linux o el que más te guste y/o apetezca, Y digo lo de que no es necesario crearlo porque cuando instalas un CMS o gestor de contenidos basado en PHP, el archivo .htaccess ya está listo con su configuración básica para un funcionamiento adecuado de tu sitio bajo WordPress, Joomla!, PHP LD…. Eso sí, si quieres incorporar características especiales y mejoras a tu sitio, deberás editarlo. 

Veamos un ejemplo de un archivo .htaccess de WordPress:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Usos habituales de .htaccess

  • Restringir el acceso a directorios de tu sitio: muy interesante si tienes un directorio personal, privado, al que no quieres permitir el acceso a personas ni a robots. Prueba a crearlo desde este enlace:
    www.htaccesseditor.com/es.shtml#a_basic
  • Restringir el acceso a IPs o ISPs: hay IPs y dominios que contienen malware. Es importante estar protegido contra ellos. El archivo .htaccess te ayudará a ello.
  • Posibilidad de crear URLs Amigables (semánticas): muy importante por tema SEO
  • Manejar errores del servidor: qué hacer, a qué página dónde redirigir dependiendo del tipo de error (error 401, error 500, etc., etc.).
  • Crear redirecciones estáticas: la famosa Redirección 301. En este artículo podréis ver buenos ejemlos y el código a agregar a nuestro archivo .htaccess para crear esta útil redirección: Redirección 301.  Un ejemplo de redirección múltiple 301:

    # Redirige un dominio antiguo a uno nuevo (o de un dominio a otro)
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^midominio.com$ [NC]
    RewriteRule ^(.*)$ http://www.midominio.com/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^midominio.com/blog$ [NC]
    RewriteRule ^(.*)$ http://blog.midominio.com/$1 [R=301,L]

    # En caso de error 404 página no encontrada), rediriges a una página de error personalizada
    ErrorDocument 404 /404.html

  • Controlar la caché del sitio: acelera la carga de tu sitio y te ‘premian’ tanto los usuarios como los motores de búsqueda
  • Evitar hotlinking o llamada remota de tu sitio: no permite que enlacen a imágenes y archivos de configuración, como hojas de estilo (archivos .css), javascripts (archivos .js)… Así evitarás sobrecargar con peticiones ajenas tu sitio, que se aprovechen del ‘tirón’. Muy útil también (yo lo utilizo en un determinado sitio, es decir, evito los hotlinks a ese dominio).
  • Forzar dominio sin las WWW, también con la redirección 301. Es decir, que dará igual que escribas http://www.midonio.com que http:/midominio.com, se cargará el mismo sitio gracias a la configuración del .htaccess. De esa forma dispondremos de una URL canónica, una URL preferida para nuestro sitio web. Un ejemplo: 

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.midominio\.com)(:80)? [NC]
RewriteRule ^(.*) http://midominio.com/$1 [R=301,L]
order deny,allow

Para saber más sobre el archivo de configuración .htaccess, consulta los siguientes artículos:

Print Friendly, PDF & Email
Share