01.08.2023

¿Cómo crear y personalizar .htaccess?

Introducción

No podemos imaginar el mundo moderno sin el mercado en línea, la tienda, el motor de búsqueda, los mensajeros y todos los componentes preciosos de WEB, que nos permitieron comunicarnos más rápido. Pero las nuevas características también nos traen nuevas vulnerabilidades y detalles que necesitamos para continuar y rapireaccionar lentamente. Para esas opciones, necesitamos un panel único para el servidor de control. .htaccess!

Configurar servidores web a través de archivos de configuración es una práctica común y cómoda por varias razones:

En general, los archivos de configuración brindan una forma directa y efectiva de administrar servidores web, otorgando a los administradores control y opciones de personalización para optimizar el rendimiento y la seguridad del servidor para satisfacer sus necesidades específicas.


Requisitos

Instalación:

En primer lugar, los pasos de esta guía comienzan con la actualización y actualización de todo el sistema, para eso escriba en el CLI comando a continuación:

actualización de apt && actualización de apt -y

Captura de pantalla №1: actualizar el sistema operativo

Si ya tienes un Apache webserver, puede omitir ese paso de instalación y continuar, pero si no prepara un servidor, ingrese el comando a continuación y asegúrese de que necesita el paquete:

lista de aptos | grep apache2

Captura de pantalla №2 — Lista de paquetes

Después de eso, si encontramos nuestro paquete como en la imagen de arriba, instalamos el servidor web, se ejecuta automáticamente e inicia su servicio:

instalación adecuada apache2

Captura de pantalla №3 — Instalación apache2

Después de instalar Apache2, se iniciará automáticamente y sus archivos de configuración se ubicarán en diferentes lugares según su sistema operativo. En ese servidor web que usamos httpd.conf (o apache2.conf en algunos sistemas) archivo de configuración para configurar pa globalraméteres. Recordatorio! Htaccess que usamos para anular algunas reglas de proceder cliconsulta ent y optimizar la respuesta de nuestro servidor.

Es crucial asegurarse de que su servidor web permita el uso de archivos .htaccess. Para lograr esto, verifique que la directiva AllowOverride esté habilitada en el directorio principal. Apache2 archivo de configuración (httpd.conf o apache2.conf). Valor de cambio Permitir sobrescritura a Todos:

nano ./etc/apache2/apache2.conf

Captura de pantalla №4 — Cambiar valor

Si no puede encontrar el directorio necesario, use el siguiente comando:

cd / && buscar ./ ​​-nombre apache2.conf && buscar ./ ​​-nombre httpd.conf

Captura de pantalla №5 — Buscar configuración

Al habilitar AllowOverride, otorga al servidor la capacidad de interpretar las directivas especificadas en los archivos .htaccess ubicados en los directorios de su sitio web. Esto permite configuraciones más flexibles y personalizadas a nivel de directorio, mejorando la funcionalidad general y la seguridad de su servidor web.

En la jerarquía de configuración de ajustes predeterminados:

Captura de pantalla №6 — Jerarquía de archivos

El arreglo de Apache Los archivos pueden variar según el sistema operativo y el método de instalación. Sin embargo, a continuación se muestra la organización general comúnmente utilizada en la mayoría de las instalaciones:

Ahora podemos configurar el archivo htaccess, que anula la extensión para nuestra configuración actual. Todos los cambios y valores de ese archivo afectarán la configuración en el resultado. Demostremos cómo funciona eso en la configuración ordinaria.

Al principio, debe habilitar la función de anulación e indicar DocumentRoot en la configuración de host virtual para que ingrese CLI:

mkdir /etc/sitio-para-prueba
nano /etc/apache2/sitios-disponibles/000-default.conf

Captura de pantalla n.º 7: configuración del host virtual

cambiar paramIntroduzca ServerName para su propio dominio y AllowOverride para valorar Todo. ¡Recordatorio! Necesitas tener en el DNS registro de acuerdo de control del panel, que indica IP pública de su servidor! Cambie DocumentRoot para su directorio de trabajo con páginas y archivos del sitio necesario. En ese caso, creamos un directorio de sitio para prueba. A continuación, cree su primera página simple o, si utiliza su propio sitio web, omita este paso:

nano /etc/sitio-para-prueba/index.html

Captura de pantalla №8 — Primera página




PRUEBA
Meditative Healing™

¡Hola, ese archivo htaccess de prueba!

El contenido de tu página puede estar con otra configuración y estructura, pero se ha guardado el sentido. Vamos a crear en la misma carpeta el archivo .htaccess que crea una cadena lógica entre html y la acción del usuario. Crea un archivo:

nano /etc/sitio-para-prueba/.htaccess
RewriteEngine On
RewriteRule "hola$ index.html [L]

Captura de pantalla n.º 9: anular la configuración

Esa configuración por la sintaxis RewriteEngine On habilite la reescritura del módulo en el servidor y en la siguiente regla de reconstrucción sin procesar que literalmente se asignó con la página html y el atributo [L] significa que se ignorará la última regla para ejecutar y seguir instrucciones. Para que funcione correctamente, necesitamos habilitar el módulo de reescritura que incluye a apache2 paquete y reiniciar el servicio:

sudo a2enmod reescribir && systemctl reiniciar apache2

Captura de pantalla №10 — Paso adicional

Veamos el resultado de nuestras acciones:

Captura de pantalla №11 — Página principal

Compruebe la URL de nuestro sitio:

Captura de pantalla n.º 12: página URL

Control de acceso

Considere el ejemplo popular del uso de .htaccess. ¡El archivo .htaccess sirve como una poderosa herramienta de configuración que puede controlar el acceso a los archivos, carpetas y directorios completos de sus sitios web!

Ordenar: Este comando determina la secuencia en la que se ejecutan las directivas. Establece la precedencia de las directivas posteriores, independientemente de su disposición dentro del expediente.

Denegar: Al usar esta directiva, puede prohibir el acceso a un directorio en particular desde direcciones específicas o direcciones IP.

Permitir: Por el contrario, esta directiva permite el acceso al directorio únicamente desde las direcciones o direcciones IP especificadas.

Al emplear estos comandos, puede adaptar fácilmente el acceso a recursos específicos en su servidor web. Por ejemplo, puede utilizar .htaccess para restringir el acceso a información confidencial dentro de un diseño.nated folder o otorgar acceso exclusivamente a direcciones IP específicas, mejorando así la seguridad y ejerciendo control sobre los recursos de su sitio web. Abra el archivo .htaccess que creamos antes e ingrese esa configuración adicional a la sintaxis anterior.

Orden de permitir, denegar
Permitir 95.141.86.46

Esa configuración determina el proceso de acceso a la carpeta en el servidor, por lo tanto permite el acceso exclusivamente para nuestra IP. ¡Necesita cambiar ese valor a su dirección de red! En el resultado, podemos ver el indicador Prohibido para iniciar sesión en el sitio desde otra dirección IP:

Captura de pantalla n.º 13 — Prohibido

Los índices restringen

Para mejorar la seguridad, puede evitar el listado de directorios en Apache Servidor web. De forma predeterminada, si no se encuentra ningún archivo index.html o especificado en un directorio, Apache muestra una lista de todos los archivos presentes en ese directorio. Para deshabilitar esta función y restringir la lista de directorios, aplique la siguiente configuración:

Opciones -Indexes

No encontrado — 404

Para redirigir a los visitantes a una página 404 (la página "No encontrada") cuando falta la página solicitada, puede implementar el siguiente código:

nano /etc/sitio-para-prueba/error404.html

Introduzca el siguiente contenido en el archivo:




Página no encontrada - Error 404
Meditative Healing™

¡404 Pagina no encontrada!
<!-- H1-->

Luego agregue a una configuración .htaccess y termine la configuración:

ErrorDocument 404 /error404.html

Captura de pantalla n.º 14 — No encontrado

Redirección

Cree una página html como consideramos en el paso anterior y cree un archivo de destino para redirigir:

nano /etc/sitio-para-prueba/targeturl.html

Para lograr la redirección de "/hello" a "/target" con una redirección 301 (permanente), puede usar la siguiente regla de reescritura en su archivo .htaccess:

Regla de reescritura ^hola$ /objetivo [R=301,L]
Regla de reescritura ^hola$ index.html
Regla de reescritura ^target$ targeturl.html

RewriteEngine On: Esto activa RewriteEngine, lo que permite el uso de reglas de reescritura en el archivo .htaccess.

RewriteRule ^hello$ /target [R=301,L]: esta regla hace coincidir las solicitudes con "/hello" (el "^" indica el inicio y "$" indica el final de la URL) y las redirige a "/target" utilizando una redirección 301 (permanente). El indicador "R=301" indica una redirección permanente y el indicador "L" indica que esta es la última regla que se ejecutará.

Con esta configuración, cualquier solicitud a "/hola" se redirigirá a "/objetivo" con un código de estado 301, lo que significa que será una redirección permanente. Otras reglas presentes en el archivo .htaccess después de esta no se ejecutarán debido al indicador "L".

Captura de pantalla n.º 15 — Redirección

Conclusión

El archivo .htaccess es una poderosa herramienta para controlar el acceso a los recursos en un servidor web. Ofrece a los administradores web la capacidad de definir el orden de ejecución de las directivas, bloquear el acceso desde direcciones IP o direcciones específicas mediante la directiva "Denegar" y otorgar acceso solo a ubicaciones específicas con la directiva "Permitir". Esto brinda a los administradores la flexibilidad de personalizar el control de acceso, lo que garantiza la seguridad y el control preciso de los recursos del servidor.

Además, el archivo .htaccess también sirve para otros propósitos importantes. Puede administrar índices, evitando listados de directorios y, por lo tanto, mejorando la seguridad al no exponer archivos confidenciales. Además, puede manejar errores 404 (No encontrado), lo que permite a los administradores redirigir a los visitantes a una página de error personalizada cuando falta una página solicitada o no está disponible.

Además, la directiva "RewriteRule" dentro del archivo .htaccess habilita poderosas capacidades de redirección. Los administradores web pueden usar esta directiva para realizar redirecciones de URL, dirigiendo a los visitantes de una URL a otra. Esto puede ser útil para crear URL fáciles de usar, implementar redireccionamientos permanentes o temporales o administrar cambios en la estructura del sitio web.

En resumen, el archivo .htaccess es una herramienta versátil e indispensable para la configuración del servidor web. Brinda control sobre el acceso, la seguridad, el manejo de errores y la redirección de URL, lo que lo convierte en un componente esencial para optimizar y personalizar un servidor web para cumplir con los requisitos específicos de sitios web o aplicaciones.