Icono del sitio Adclic Hosting

¿Qué es htaccess, para qué sirve y códigos fundamentales?

htaccess

Htaccess es el nombre de un archivo de texto que se coloca en el directorio de una página web, para configurar algunos cambios en el servidor de alojamiento web y a través de nuestro panel de control de nuestro servicio de hosting. Cada línea del archivo contiene una regla. Cada regla se aplica al directorio donde se encuentra únicamente, incluyendo sus subdirectorios y ficheros.
Crear un archivo htaccess es muy sencillo, abrimos el bloc de notas escribimos las directivas y lo guardamos con el nombre “.htaccess” (incluye las comillas, para guardarlo sin la extensión .txt). Ahora, sólo debemos subir el archivo a nuestro servidor web Apache o fichero dentro de nuestro administrador de archivos de cPanel por ejemplo. Esto se procesará cada vez que un cliente realice una petición.

¿Cómo funciona el archivo .htaccess?

El archivo htaccess localizado en el administrador de archivos de tu servidor web o hosting compartido consultará y hará exactamente lo que este archivo le indique.
Este archivo .htaccess puede existir en un directorio principal o directorio raíz y todos los directorios web harán según lo que este archivo indique. También es posible crear archivos htaccess para ciertos directorios en especifico si se desea que realicen otras instrucciones. Estas instrucciones solo afectarán a dicho directorio y subdirectorios asociados a este. Los demás directorios no se verán afectados.
Si por ejemplo dentro del archivo htaccess colocamos un código de configuración que redirija a los visitantes a otro sitio web. El servidor apache al consultar este archivo oculto redireccionará a los visitantes a la pagina web que has indicado en dicho código htaccess.
Pero si por el contrario existe algún error de conexión con esta pagina que hemos indicado. El servidor consultará el código nuevamente y como resultado mostrará el error 404. Incluso es posible editar estas paginas de error y hacer el llamado a través del archivo .htaccess.

Ejemplos de fichero htaccess que todo webmaster debería conocer

Estos son los 6 ejemplos .htaccess sencillos y muy útiles, cómo para ponerlos en práctica rápidamente. Aquí comentamos y ampliamos estos códigos para este archivo de configuración:

  1. Redireccionamiento

    Imagina que necesitas enviar a todos tus visitantes a una página en especial, mientras realizas el mantenimiento de tu sitio web:

    order deny,allow
    deny from all
    allow from 123.123.123.123

    ErrorDocument 403 /pagina.html

    <Files page.html>
    allow from all
    </Files>

    Reemplaza el 123.123.123.123 con tu dirección IP y «pagina.html» con el nombre de la página que deseas que tus visitantes vean.

  2. Bloqueo de determinadas direcciones IP

    Pero el redireccionamiento no lo es todo. Ahora imagina, ¿Qué sucedería si hay un crawlers o un boot spam que sobre carga tu servidor con peticiones inútiles o consultas fastidiosas? ¿Cómo los bloqueamos?

    Order allow, deny
    Deny from 123.123.123.123
    Allow from all

    Donde 123.123.123.123 es la dirección ip a bloquear. Si se percatan, las directivas son muy similares a la anterior, con la diferencia, que en la primera denegamos o estaremos bloqueando el acceso a todos los visitantes, y en la otra se le dará acceso a determinadas o una sola IP.

  3. Transfiriendo Page Rank

    Esto se aplica a los casos en que hemos movido o renombrado una página web en nuestro sitio y queremos que todos nuestros visitantes sean enviados a la nueva url. La alternativa, que incluye la transferencia de PageRank, para el posicionamiento en buscadores, es:
    Redirect 301 /pagina_antigua.html http:// tusitio.com/ pagina_nueva.html

    Con el redireccionamiento 301, la página nueva no pierde el valor ganado por la página antigua.

  4. Prevenir la navegación en un directorio

    Esto es algo que a veces se nos olvida. Cuando un directorio no tiene la página de index, cualquier visitante puede observar los archivos contenidos en el directorio, y navegar a través de ellos. Si nosotros queremos prevenir esto, sólo debemos escribir lo siguiente:

    Options All -Indexes

  5. Página de Error 404 personalizada

    Por defecto, el servidor Apache muestra una página de error 404 “404 File Not Found”, cuando nuestros visitantes acceden a una página que en el momento no existe.

    Sin embargo, la página por defecto es poco usable y no deja una buena impresión, por lo que podríamos crear una página especial a la cual redirigir cada vez que se produce el error 404.
    ErrorDocument 404 /404.html
    Donde 404.html es el nombre de la página personalizada, que queremos que nuestros visitantes vean.

  6. Reescribir URLs amigables

    Cuando tenemos dos urls amigables, por lo general se recomienda escoger la más corta y fácil de recordar. Por ejemplo:
    RewriteEngine on
    RewriteRule ^contacto/$ /pages/contacto.html [L]

    Aquí le decimos al servidor Apache, que active el modulo mod_rewrite (RewriteEngine on) y muestre el contenido de “/pages/contacto.html” cada vez que cualquier visitante ingrese a “http://tusitio.com/contacto”. Con la bandera L, detenemos el proceso si es que se cumple la condición, de esta manera ahorramos recursos. Más detalles: Urls amigables con PHP.

  7. Directorios restringidos con contraseñas

    En los casos en que necesitemos permitir el acceso a un directorio o omitir la visualización nuestra pagina de nuestra página de inicio sólo a determinadas personas, podemos configurar nuestro servidor apache para cubrir esta necesidad. Básicamente, son 2 pasos los que hay que seguir:

    – Crear el .htaccess, en el directorio a restringir
    AuthUserFile /full/path/to/.htpasswd
    AuthName «Ingresar»
    AuthType Basic
    require user nombre_de_usuario
    El archivo .htpasswd no debe estar en un directorio accesible a cualquier cliente web. No se olviden de probar esto.

    – Crear el fichero .htpasswd
    El ficher .htpasswd debe contener el nombre de usuario y la contraseña, que Apache solicitará. La contraseña debe estar cifrada.
    nombre_de_usuario:password_encriptado

  8. Mas ejemplos de rewriteengine on rewritecond

    El siguiente código redirigirá todo el contenido de un nombre de dominio a otro:

    RewriteEngine On
    RewriteRule ^(.*)$ http://ww
    w.nuevodominio.com/$1 [R=301,L]
    El siguiente redirecciona el sitio de http www a www y con SSL:
    RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    # o también
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]


    Importante: Para realizar modificaciones en el archivo .htaccess es necesario tener conocimientos de programación previamente porque cualquier modificación podría afectar la visibilidad de la pagina web.

Tiempo de lectura estimado: 5 minutos

Salir de la versión móvil