¿Cómo se crea un archivo .htaccess y para qué sirve?

El propósito del archivo htaccess es proporcionar un medio para configurar Apache para los usuarios que no pueden modificar el archivo de configuración principal. Este artículo es aplicable a los planes de alojamiento de sitios web Linux solamente.

Este artículo contiene las siguientes secciones:

I. ¿Qué es un archivo .htaccess?

El archivo .htaccess es un archivo de configuración que habilita características adicionales del servidor web Apache. Se puede añadir en su carpeta web y afectará a todo el contenido de su sitio web.

También puede añadir más archivos .htaccess en una subcarpeta de su carpeta web para activar características individuales sólo para esa subcarpeta.

II. ¿Cómo crear y cargar un archivo .htaccess?

Puede crear dicho archivo con un editor de texto (Notepad, MS Word, etc.). Debes nombrar el archivo exactamente .htaccess ya que de lo contrario no funcionará. Tener un punto delante del nombre hace que el archivo esté oculto.

Utilice su editor de texto preferido, cree un archivo llamado .htaccess en su escritorio o en cualquier otra carpeta local, añada el texto deseado y luego suba el archivo utilizando un cliente FTP.

Las instrucciones sobre cómo establecer una conexión FTP se pueden encontrar aquí. Una vez establecida la conexión FTP, simplemente tendrá que arrastrar y soltar el archivo recién creado desde su ordenador a la carpeta deseada en su espacio de alojamiento.

III.¿Para qué se puede utilizar el archivo .htaccess?

Redirección 301:

Una de las aplicaciones más comunes del archivo .htaccess es crear redirecciones de url. Si quieres que un dominio (para el que tienes servicios de hosting) sea redirigido a otro dominio, este es el texto que debe estar en tu archivo .htaccess:

Redirección 301

RewriteEngine on

RewriteCond %{HTTP_HOST} ^firstdomain.com [NC,OR]

RewriteCond %{HTTP_HOST} ^www.firstdomain.com [NC]

RewriteRule ^(.*)$ http://seconddomain.com/$1 [L,R=301,NC]

También puede utilizar este código:

Redirección 301 .htaccess

Redirect 301 / http://domain.com

2. WWW vs non-WWW:

Puede forzar al navegador a mostrar la versión www.domain.com de la url de su sitio web o sólo el dominio.com. Estas son las dos opciones:

2.1 Forzar la visualización de www.domain.com en un navegador:

www vs non-www

RewriteEngine on

RewriteCond %{HTTP_HOST} ^domain.com [NC]

RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301,NC]

2.2 Forzar que sólo se muestre el nombre de dominio

Solo el nombre del dominio

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.domain.com [NC]

RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301,NC]

3. Bloquear una determinada IP o rango de IPs:

También puede bloquear una determinada IP o todo un rango de IPs para que no visiten su sitio. Para ello, tendrá que añadir estas líneas a su archivo .htaccess:

Bloquear IP

Order Deny,Allow

Deny from X.X.X.X (where X.X.X.X es una IPV4 especifica)

Si quieres bloquear más de una IP, tendrás que listar cada una en una línea distinta:

IP Especifica

Order Deny,Allow

Deny from X.X.X.X

Deny from Y.Y.Y.Y

Para restringir el acceso desde países específicos, debe obtener los rangos de direcciones IP que están asignados a ese país en particular. Hay varios sitios web (por ejemplo, ip2location.com) que permiten generar estas directivas .htaccess automáticamente en función del país o los países que se especifiquen.

Tenga en cuenta que este método no es 100% efectivo porque las asignaciones de direcciones IP pueden cambiar, y los rangos de direcciones IP pueden superponerse. No obstante, este método bloquea la mayor parte del tráfico procedente de los países especificados.

4. Cambiar la página de inicio por defecto:

Si actualmente tiene un sitio web cuya página de destino predeterminada es index.html y desea cambiarla (por ejemplo, la página predeterminada de un sitio de WordPress es index.php), pero desea mantener ambos archivos (index.html e index.php) en su espacio de alojamiento, puede cambiar la página de destino predeterminada añadiendo lo siguiente a su archivo .htaccess:

Cambiar página de inicio

DirectoryIndex index.php

5. Redirección de HTTP a HTTPS:

Si necesita transferir todo el tráfico que actualmente pasa por HTTP pero necesita que sea HTTPS (por ejemplo, acaba de comprar e instalar un nuevo certificado SSL), tendrá que añadir lo siguiente:

Redirección http a https

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

RewriteCond %{ENV:HTTPS} !=on

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

</IfModule>

6. Página de error personalizada:

También puede utilizar el archivo .htaccess para una página de error 404 personalizada. El texto que necesitará tener en el archivo es:

Página de error personalizada

ErrorDocument 404 /yourcustomer404page.html

Espero que te ha servido mi artículo y espero tus comentarios o aportaciónes.

Deja un comentario

disenador-web-freelance-experto-en-wordpress

¡En los últimos 7 años, he trabajado con freelancers, autonomos, startups y empresas con sede en el Reino Unido, España y los EE.UU. y en toda la honestidad, probablemente una ciudad cerca de tí!

Contacto

Mihai Dobre LTD

20-22 Wenlock Road, London, England, N1 7GU