25 trucos útiles de ‘.htaccess’ de Apache para asegurar y personalizar sitios web

Las páginas web son partes importantes de nuestras vidas. Sirven como medio para expandir negocios, compartir conocimientos y mucho más. Anteriormente limitadas a proporcionar solo contenido estático, con la introducción de lenguajes de scripting dinámicos en el lado del cliente y del servidor y el avance continuo de los lenguajes estáticos existentes como html a html5, es posible agregar cada pedacito de dinamicidad a las páginas web y lo que queda se espera que siga pronto en un futuro cercano.

Con las páginas web, surge la necesidad de una unidad que pueda mostrar estas páginas a un gran conjunto de audiencia en todo el mundo. Esta necesidad es cumplida por los servidores que proporcionan los medios para alojar una página web. Esto incluye una lista de servidores como: Apache HTTP Server, Joomla, y WordPress que permiten al usuario alojar sus páginas web.

25 htaccess Tricks

Alguien que quiera alojar una página web puede crear un servidor local propio o puede contactar a cualquiera de los administradores de servidores mencionados anteriormente o a cualquier otro administrador de servidores para alojar su página web. Pero el verdadero problema comienza a partir de este punto. El rendimiento de una página web depende principalmente de los siguientes factores:

  1. Ancho de banda consumido por la página web.
  2. Cuán segura es la página web contra hackers.
  3. Optimismo cuando se trata de búsqueda de datos a través de la base de datos
  4. Amigabilidad del usuario cuando se trata de mostrar menús de navegación y proporcionar más características de IU.

Junto a esto, varios factores que gobiernan el éxito de los servidores en el alojamiento de páginas web son:

  1. Cantidad de compresión de datos lograda para una página web en particular.
  2. Capacidad de servir simultáneamente a múltiples clientes que piden la misma o diferentes páginas web.
  3. Asegurar los datos confidenciales introducidos en sitios web, como correos electrónicos, detalles de tarjetas de crédito, y demás.
  4. Permitir cada vez más opciones para mejorar la dinámica de un sitio web.

Este artículo trata sobre una característica proporcionada por los servidores que ayuda a mejorar el rendimiento de los sitios web y protegerlos de bots maliciosos, hotlinks, etc., es decir, el archivo ‘.htaccess‘.

¿Qué es .htaccess?

htaccess (o hypertext access) son archivos que proporcionan opciones a los propietarios de sitios web para controlar las variables del entorno del servidor y otros parámetros para mejorar la funcionalidad de sus sitios web. Estos archivos pueden residir en cualquier directorio del árbol de directorios del sitio web y proporcionar funciones al directorio y a los archivos y carpetas que contiene.

¿Cuáles son estas funciones? Bueno, se trata de directivas del servidor, es decir, líneas que instruyen al servidor para realizar una tarea específica, y estas directivas se aplican solo a los archivos y carpetas dentro del directorio en el que se encuentra este archivo. Estos archivos están ocultos de forma predeterminada, ya que todos los sistemas operativos y los servidores web están configurados para ignorarlos de forma predeterminada, pero hacer visibles los archivos ocultos te permitirá ver este archivo tan especial. El tipo de parámetros que se pueden controlar es el tema de discusión de las secciones posteriores.

Nota: Si el archivo .htaccess se coloca en el directorio /apache/home/www/Gunjit/, proporcionará directivas para todos los archivos y carpetas en ese directorio, pero si este directorio contiene otra carpeta llamada /Gunjit/images/ que a su vez tiene otro archivo .htaccess, entonces las directivas en esta carpeta anularán las proporcionadas por el archivo maestro .htaccess (o el archivo en la carpeta superior en la jerarquía).

Servidor Apache y archivos .htaccess

Servidor HTTP Apache, coloquialmente llamado Apache, fue nombrado en honor a la tribu nativa americana Apache para respetar sus habilidades superiores en estrategia de guerra. Construido en C/C++ y XML, es un servidor web multiplataforma que se basa en el servidor NCSA HTTPd y desempeña un papel clave en el crecimiento y avance de la World Wide Web.

Usado más comúnmente en UNIX, Apache está disponible para una amplia variedad de plataformas, incluyendo FreeBSD, Linux, Windows, Mac OS, Novel Netware, etc. En 2009, Apache se convirtió en el primer servidor en servir más de 100 millones de sitios web.

El servidor Apache tiene un archivo .htaccess por usuario en el directorio www/. Aunque estos archivos están ocultos, se pueden hacer visibles si es necesario. En el directorio www/ hay una serie de carpetas, cada una correspondiente a un sitio web nombrado según el nombre del usuario o propietario. Además de esto, se puede tener un archivo .htaccess en cada carpeta que configure los archivos en esa carpeta como se indica arriba.

Cómo configurar el archivo htaccess en el servidor Apache es el siguiente…

Configuración en el servidor Apache

Pueden darse dos casos:

Alojamiento de un sitio web en su propio servidor

Si los archivos .htaccess no están habilitados, puedes habilitar los archivos .htaccess simplemente yendo a httpd.conf (Archivo de configuración predeterminado para el Demonio HTTP de Apache) y encontrando la sección <Directories>.

<Directory "/var/www/htdocs">

Y localiza la línea que dice…

AllowOverride None 

Y corrígela a.

AllowOverride All

Ahora, al reiniciar Apache, .htaccess funcionará.

Albergar un sitio web en un servidor de un proveedor de alojamiento diferente

En este caso es mejor consultar al administrador del alojamiento, si permiten el acceso a los archivos .htaccess.

25 Trucos de ‘htaccess’ del Servidor Web Apache para Sitios Web

1. Cómo habilitar mod_rewrite en el archivo .htaccess

mod_rewrite te permite usar redirecciones y ocultar tu URL real redirigiendo a otra URL. Esta opción puede resultar muy útil al permitirte reemplazar las URL largas y extensas por otras cortas y fáciles de recordar.

Para permitir mod_rewrite simplemente agrega la siguiente línea como primera línea de tu archivo .htaccess.

Options +FollowSymLinks

Esta opción te permite seguir enlaces simbólicos y así habilitar la opción mod_rewrite en el sitio web. La sustitución de la URL por una corta y concisa se presenta más adelante.

2. Cómo Permitir o Denegar el Acceso a Sitios Web

htaccess puede permitir o denegar el acceso a un sitio web, una carpeta o archivos en el directorio en el que se encuentra mediante el uso de las palabras clave order, allow y deny.

Permitir el acceso solo a la IP 192.168.3.1
Order Allow, Deny
Deny from All
Allow from 192.168.3.1

OR

Order Allow, Deny
Allow from 192.168.3.1

La palabra clave Order aquí especifica el orden en el que se procesaría el acceso permitir, denegar. Para la declaración de ‘Order‘ anterior, primero se procesarían las declaraciones de Permitir y luego se procesarían las declaraciones de denegar.

Denegar acceso a solo una dirección IP

Las líneas a continuación proporcionan los medios para permitir el acceso al sitio web a todos los usuarios excepto uno con la dirección IP: 192.168.3.1.

rder Allow, Deny
Deny from 192.168.3.1
Allow from All

OR


Order Deny, Allow
Deny from 192.168.3.1

3. Generar documentos de error de Apache para diferentes códigos de error.

Usando algunas líneas simples, podemos corregir el documento de error que se ejecuta en diferentes códigos de error generados por el servidor cuando el usuario/cliente solicita una página no disponible en el sitio web, como la mayoría de nosotros habríamos visto la página ‘404 Página no encontrada‘ en su navegador web. Los archivos ‘.htaccess‘ especifican qué acción tomar en caso de tales condiciones de error.

Para hacer esto, las siguientes líneas deben agregarse a los archivos ‘.htaccess‘:

ErrorDocument <error-code> <path-of-document/string-representing-html-file-content>

ErrorDocument‘ es una palabra clave, el código de error puede ser cualquiera de 401, 403, 404, 500 o cualquier código de error válido y por último, ‘ruta-del-documento’ representa la ruta en la máquina local (en caso de que esté utilizando su propio servidor local) o en el servidor (en caso de que esté utilizando el servidor de otra persona para alojar su sitio web).

Ejemplo:
ErrorDocument 404 /error-docs/error-404.html

La línea anterior establece que el documento ‘error-404.html‘ ubicado en la carpeta error-docs se mostrará en caso de que el servidor informe un error 404 por cualquier solicitud inválida de una página por parte del cliente.

rrorDocument 404 "<html><head><title>404 Page not found</title></head><body><p>The page you request is not present. Check the URL you have typed</p></body></html>"

La representación anterior es correcta, que coloca la cadena que representa un archivo html habitual.

4. Configuración/Deshabilitación de variables de entorno del servidor Apache

En el archivo .htaccess puedes configurar o deshabilitar las variables de entorno globales que el servidor permite que sean modificadas por los hosters de los sitios web. Para configurar o deshabilitar las variables de entorno, necesitas agregar las siguientes líneas a tus archivos .htaccess.

Configuración de las variables de entorno
SetEnv OWNER “Gunjit Khera”
Deshabilitación de las variables de entorno
UnsetEnv OWNER

5. Definición de diferentes tipos MIME para archivos

MIME (Extensiones Multimedia de Internet Multipropósito) son los tipos que reconoce el navegador de forma predeterminada al ejecutar cualquier página web. Puedes definir tipos MIME para tu sitio web en los archivos .htaccess, de modo que los diferentes tipos de archivos definidos por ti puedan ser reconocidos y ejecutados por el servidor.

<IfModule mod_mime.c>
	AddType	application/javascript		js
	AddType application/x-font-ttf		ttf ttc
</IfModule>

Aquí, mod_mime.c es el módulo para controlar las definiciones de diferentes tipos MIME y si tienes este módulo instalado en tu sistema, entonces puedes usar este módulo para definir diferentes tipos MIME para diferentes extensiones utilizadas en tu sitio web para que el servidor pueda entenderlos.

6. Cómo Limitar el tamaño de las Cargas y Descargas en Apache

Los archivos .htaccess te permiten controlar la cantidad de datos que se cargan o descargan por un cliente en particular desde tu sitio web. Para esto, solo necesitas agregar las siguientes líneas a tu archivo .htaccess:

php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200

Las líneas anteriores establecen el tamaño máximo de carga, el tamaño máximo de los datos que se están enviando, el tiempo máximo de ejecución, es decir, el tiempo máximo que se le permite a un usuario ejecutar un sitio web en su máquina local, y la restricción de tiempo máximo dentro del tiempo de entrada.

Source:
https://www.tecmint.com/apache-htaccess-tricks/