GNU/Linux >> Tutoriales Linux >  >> Linux

Una guía para principiantes para crear redireccionamientos en un archivo .htaccess

¿Alguna vez ha sentido la necesidad de cambiar la configuración de su sitio web que se ejecuta en un servidor web Apache sin tener acceso de root a los archivos de configuración del servidor (httpd.conf )? Esto es lo que .htaccess el archivo es para.

El .htaccess El archivo proporciona una forma de realizar cambios de configuración en su sitio web por directorio. El archivo se crea en un directorio específico que contiene una o más directivas de configuración que se aplican a ese directorio y sus subdirectorios. En alojamiento compartido, deberá usar un .htaccess para realizar cambios de configuración en su servidor.

[ También puede disfrutar: 6 habilidades de administrador de sistemas que los desarrolladores web necesitan ]

Usos comunes del archivo .htaccess

El .htaccess El archivo tiene varios casos de uso. Los ejemplos más comunes incluyen:

  • Redirecciones para determinadas URL
  • Cargar páginas de error personalizadas, como páginas 404
  • Obligue a su sitio web a HTTPS en lugar de HTTP
  • Permitir o denegar el acceso de direcciones IP específicas a su sitio web
  • Proteja con contraseña ciertos directorios en su servidor

¿Cuándo no usar .htaccess?

El .htaccess El archivo se usa comúnmente cuando no tiene acceso al archivo de configuración del servidor principal httpd.conf o configuración de host virtual, que solo ocurre si ha comprado alojamiento compartido. Puede lograr todos los casos de uso mencionados anteriormente editando los archivos de configuración del servidor principal (por ejemplo, httpd.conf ) o archivos de configuración de host virtual, por lo que no debe usar .htaccess cuando tenga acceso a esos archivos. Cualquier configuración que necesite poner en un .htaccess el archivo se puede agregar con la misma eficacia en un en su servidor principal o archivos de configuración de host virtual.

Razones para evitar el uso de .htaccess

Hay dos razones para evitar el uso de .htaccess archivos Echemos un vistazo más de cerca a ellos.

Primero :Rendimiento - Cuando AllowOverride está configurado para permitir el uso de .htaccess archivos, httpd buscará .htaccess archivos en cada directorio a partir del directorio principal. Esto causará un impacto en el rendimiento, ya sea que lo esté usando o no. El .htaccess El archivo se carga cada vez que se solicita un documento de un directorio.

Para tener una visión completa de las directivas que debe aplicar, httpd siempre buscará .htaccess archivos comenzando con el directorio principal hasta llegar al subdirectorio de destino. Si se solicita un archivo del directorio /public_html/test_web/content , httpd debe buscar los siguientes archivos:

  • /.htaccess
  • /public_html/.htaccess
  • /public_html/test_web/.htaccess
  • /public_html/test_web/content/.htaccess

Por lo tanto, se realizaron cuatro accesos al sistema de archivos para cada acceso de archivo desde un contenido de subdirectorio, incluso si el archivo no está presente.

Segundo :Seguridad:otorgar permiso a los usuarios para realizar cambios en .htaccess les da control total sobre la configuración del servidor de ese sitio web en particular o host virtual. Cualquier directiva en .htaccess archivo tiene el mismo efecto que cualquiera colocado en el httpd archivo de configuración en sí mismo, y los cambios realizados en este archivo se activan instantáneamente sin necesidad de reiniciar el servidor. Esto puede volverse riesgoso en términos de seguridad de un servidor web y un sitio web.

Habilitar el archivo .htaccess

Para habilitar .htaccess archivo, necesita tener privilegios sudo/root en el servidor.

Abre el httpd archivo de configuración de su sitio web:

/etc/httpd/conf/test.conf

Debe agregar la siguiente directiva de configuración en el archivo de host virtual del servidor para permitir el .htaccess archivo en DocumentRoot directorio. Si no se agregan las siguientes líneas, .htaccess el archivo no funcionará:

</VirtualHost>
<Directory /var/www/test.com/public_html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

En el caso del alojamiento compartido, esto ya está permitido por los proveedores de servicios de alojamiento. Todo lo que necesitas hacer es crear un .htaccess archivo en el public_html directorio al que el proveedor de servicios te ha dado acceso y al que subirás los archivos de tu web.

URL de redirección

Si su objetivo es simplemente redirigir una URL a otra, el Redireccionamiento directiva es la mejor opción que puede utilizar. Siempre que una solicitud proviene de un cliente en una URL antigua, la reenvía a una nueva URL en una nueva ubicación.

Si desea realizar una redirección completa a un dominio diferente, puede configurar lo siguiente:

# Redirect to a different domain
Redirect 301 "/service" "https://newdomain.com/service"

Si solo desea redirigir una URL antigua a una nueva URL en el mismo host:

# Redirect to a URL on the same domain or host
Redirect 301 "/old_url.html" "/new_url.html"
Load a custom 404 Error page

Para una mejor experiencia de usuario, cargue una página de error personalizada cuando alguno de los enlaces en su sitio web apunte a una ubicación incorrecta o el documento haya sido eliminado.

Para crear una página 404 personalizada, simplemente cree una página web que funcione como una página 404 y luego agregue el siguiente código a su .htaccess archivo:

ErrorDocument 404 /error/pagenotfound.html

Deberías cambiar /error/pagenotfound.html a la ubicación de su página 404.

Fuerza el uso de HTTPS en lugar de HTTP para su sitio web

Si desea obligar a su sitio web a usar HTTPS, debe usar el RewriteEngine módulo en el .htaccess expediente. En primer lugar, debe activar el RewriteEngine módulo en el .htaccess y luego especifique las condiciones que desea verificar. Si se cumplen esas condiciones, entonces aplica reglas a esas condiciones.

El siguiente fragmento de código reescribe todas las solicitudes a HTTPS:

# Turn on the rewrite engine
RewriteEngine On

# Force HTTPS and WWW
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off  
RewriteRule ^(.*)$ https://www.test-website.com/$1 [R=301,L]

Repasemos cada línea.

Motor de reescritura activado enciende el RewriteEngine módulo. Esto es requerido; de lo contrario, las condiciones y reglas no funcionarán.

La primera condición comprueba si www es ingresado. [O, Carolina del Norte] significa sin caso , lo que significa que incluso si la URL ingresada tiene una combinación de letras mayúsculas y minúsculas.

A continuación, comprueba si el usuario ya ha introducido el protocolo HTTPS. %{https} de descuento significa que no se utilizó el protocolo HTTPS.

Cuando RewriteCond está satisfecho, usamos RewriteRule para redirigir la URL a HTTPS. Tenga en cuenta que, en este caso, todas las URL se redirigirán a HTTPS cada vez que se realice una solicitud.

[ Una guía gratuita de Red Hat:5 pasos para automatizar su negocio. ] 

Resumir

Los propietarios de sitios web a menudo usan .htaccess archivo para controlar el comportamiento de su sitio web. En este artículo, hemos cubierto los conceptos básicos de .htaccess archivo y algunos casos de uso comunes en la mayoría de los sitios web.


Linux
  1. Bloqueo de acceso a través de un archivo .htaccess

  2. Guía de Ansible:Administrar archivos usando Ansible

  3. Creación de redireccionamientos de Apache

  4. Exclusión de directorio al crear un archivo .tar.gz

  5. xauth no crea el archivo .Xauthority

Una guía para principiantes sobre la resolución de problemas de red en Linux

Guía para principiantes para instalar Pop!_OS Linux

Cómo usar AppImage en Linux (Guía para principiantes)

Crear un archivo descargable en cPanel

Guía para principiantes de Syslogs en Linux

¿Qué es el sistema de archivos de Linux? Guía fácil