GNU/Linux >> Tutoriales Linux >  >> Panels >> cPanel

Cómo configurar reglas y redirecciones en .htaccess

Cómo configurar reglas y redirecciones en .htaccess

.htaccess es un archivo de configuración a nivel de directorio compatible con el servidor web Apache. Se utiliza para modificar la configuración del servidor web (habilitar o deshabilitar funciones adicionales) para la cuenta específica sin cambiar la configuración global del servidor.

El archivo .htaccess surte efecto en todo el directorio en el que se encuentra, incluidos todos archivos y subdirectorios. Los cambios realizados en este archivo se implementarán inmediatamente y no es necesario reiniciar el servidor.


Cómo ubicar el archivo .htaccess
Lista de reglas .htaccess comúnmente utilizadas:
  • Autorización/autenticación 
  • Bloqueo 
  • Páginas de error personalizadas 
  • Mod_Rewrite (reglas de redirección)
  • Cambio del directorio raíz del dominio
Deshabilitar las reglas .htaccess existentes


Para acceder al archivo principal .htaccess de su cuenta de alojamiento, siga los pasos a continuación:

1. Inicie sesión en su cPanel .
2. Navega a la sección Archivos>> Administrador de archivos :



3. Si desea editar el archivo .htaccess para su dominio principal, vaya a public_html carpeta. Si necesita realizar algunos cambios en el dominio adicional, muévase a public_html/youraddodomain.com carpeta.

Una vez allí, asegúrese de que Mostrar archivos ocultos (dotfiles) la opción está habilitada en Configuración menú:



4. Localice .htaccess archivo, haga clic derecho>> Editar :



5. Si no hay un archivo .htaccess ubicado en su administrador de archivos, siéntase libre de crear uno nuevo usando Archivo opción:



Está listo para agregar sus propias reglas de configuración y guardarlas.



El uso común las reglas de un archivo .htaccess se enumeran a continuación:


Autorización/autenticación – especifica restricciones de seguridad para un directorio/subdirectorio.
Puede proteger con contraseña un directorio, o varios de ellos, y cada vez que un visitante intente acceder a él, se le solicitará el nombre de usuario y la contraseña.

Para configurar dicha protección, debe:

1. Cree el directorio que desea proteger en /home/cpanel_user/.htpasswds/ carpeta (por ejemplo, para public_html/test la ruta será .htpasswds/public_html/test/).
       

2. Crear una contraseña archivo en este directorio y agregue detalles de acceso hash usando este generador en línea.

3. Agregue las siguientes directivas a .htaccess:

AuthType Basic
AuthName "Directory Name" AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd" require valid-user


Bloqueo – bloquea usuarios por dirección IP o dominio. Es muy útil para bloquear visitantes no deseados o para permitir el acceso a determinadas secciones del sitio web por parte de su propietario, área de administración, por ejemplo.
Para configurar ciertas reglas de bloqueo, cree un archivo .htaccess con el siguiente texto:

  • para permitir el acceso a todos los demás y bloquear a los usuarios con una dirección IP X.X.X.X
<RequireAll>
Require all granted
Require not ip X.X.X.X
</RequireAll>

  • para bloquear a todos los visitantes excepto a las direcciones IP X.X.X.X y Y.Y.Y.Y específicas
<RequireAll>
Require all denied
Require ip X.X.X.X
Require ip Y.Y.Y.Y
</RequireAll>

NOTA: No mezcle el obsoleto Permitir , Denegar y Ordenar directivas con el nuevo Require directiva.

Páginas de error personalizadas – permite crear páginas de error personalizadas para un sitio. Esta opción es muy útil ya que le permite mostrar a los visitantes del sitio web un mensaje de error que coincida con el tema de su sitio web si una URL en su sitio web no funciona. Esto ayuda a evitar el error predeterminado '404 Archivo no encontrado', por ejemplo, y le permite mostrar un error de diseño personalizado con las instrucciones de guía en el contenido de su sitio web, en lugar de dejarlo desconcertado.
Para configurar un documento de error personalizado , cree un archivo .htaccess con el siguiente texto a continuación:

ErrorDocument 404 /404.html

Cada vez que aparece un error 404 (Archivo no encontrado), esta línea le indica al servidor web Apache que cargue un archivo 404.html ubicado en el directorio raíz del dominio para el que configuró la página de error.

NOTA :Para configurar un documento para otros errores (403, 500, etc.), simplemente reemplace 404 con el código de error correspondiente y /404.html con la ruta al archivo de error.


Mod_Rewrite – especifica cómo se muestran las páginas web y las URL a los visitantes.

Nos gustaría llamar su atención sobre el uso de las reglas Mod_Rewrite en el archivo .htaccess.

De forma predeterminada, Mod_Rewrite asigna una URL a una ruta del sistema de archivos. Sin embargo, también se puede usar para redirigir una URL a otra URL.

Antes de crear una redirección, debe elegir el tipo de redirección que prefiera:

  • Redireccionamiento permanente tiene un código de estado de 301 y, a diferencia del temporal, se almacena en caché en la memoria del navegador. Implica que la página se ha movido y solicita a todos los motores de búsqueda y agentes de usuario que llegan a la página que actualicen la URL en su base de datos. Este es el tipo de redireccionamiento más común.
  • Redireccionamiento temporal significa que la página está enviando el código de estado 302 al navegador. El código 302 le dice al navegador que no almacene en caché esta redirección en sus datos guardados. Redirigirá al visitante o al motor de búsqueda, pero el motor de búsqueda continuará indexando a la página original. Este es el tipo de redireccionamiento recomendado, a menos que esté absolutamente seguro de que nunca lo cambiará en el futuro.

La lista de los redireccionamientos más comunes y útiles, que se pueden configurar a través del archivo .htaccess, se puede encontrar a continuación (los dominios especificados en los ejemplos deben reemplazarse con los suyos propios):


Redireccionamiento permanente desde ejemplo.com a dominio.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com/$1" [R=301,L]

Redireccionamiento temporal de ejemplo.com a dominio.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com\/" [R=302,L]

NOTA :A continuación se muestran los ejemplos de redireccionamientos permanentes. Se puede definir uno temporal reemplazando [R=301,L] con [R=302,L] al final del código (cuando sea necesario).


Redireccionar desde ejemplo.com/subcarpeta a dominio.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^subfolder/$ "http\:\/\/domain\.com\/" [R=301,L]


Redirigir de HTTP a HTTPS por ejemplo.com

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://example.com%{REQUEST_URI} [R,L]

o

RewriteCond %{SERVER_PORT} 80      
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]


Redirigir de no WWW a WWW

  • para cualquier dominio, .htaccess surte efecto en:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

  • para un determinado dominio, ejemplo.com:
RewriteEngine On     
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]


Redirigir de WWW a no WWW
  • para cualquier dominio, .htaccess surte efecto en:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

  • para un determinado dominio, ejemplo.com:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]

Redireccionar todas las páginas de ejemplo.com a las páginas correspondientes de dominio.com
RedirectMatch 301 ^/(.*)$ http://domain.com/$1

NOTA :todos los nombres de las páginas deben coincidir en ambos dominios o la redirección generará un mensaje de "Página no encontrada" en el sitio web de destino.

Redireccionar una página a una nueva URL
Redirect 301 /old_page.html http://www.domain.com/new_page.html

NOTA :Esto puede ser útil cuando desea redirigir una página eliminada a un error 404 o con fines de SEO después de que el contenido haga referencia a las actualizaciones.



Cambia la raíz del directorio para el dominio principal a public_html/subcarpeta

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ subfolder/index.php [L]

NOTA :El archivo .htaccess debe estar ubicado en el directorio raíz del dominio para el que desea configurar ciertas reglas.


Deshabilitar las reglas .htaccess existentes

Si necesita deshabilitar algunas de las reglas existentes, por ejemplo, con fines de prueba, simplemente puede comentarlas. Para hacerlo, agregue el signo de libra # al comienzo de cada línea de la regla.
Además, es posible deshabilitar la línea o incluso el bloque de líneas seleccionándolas y usando Ctrl + / acceso directo.




¡Eso es!


                      ¿Necesita ayuda? Póngase en contacto con nuestro servicio de asistencia

Artículos asociados

Cómo configurar la protección interna para .htaccess
cPanel
  1. Cómo configurar la protección interna para .htaccess

  2. Cómo configurar redirecciones de dominio en cPanel

  3. Cómo establecer directivas PHP usando .php.ini

  4. Cómo restringir el acceso a tu sitio web con .htaccess y cPanel IP Blocker

  5. ¿Cómo configurar un archivo como NO ejecutable?

Cómo configurar el servidor y el cliente NFS en CentOS 8

¿Cómo configurar la página de índice desde cPanel a través de .htaccess?

Cómo restringir el acceso a su sitio web usando .htaccess y cPanel IP Blocker

¿Cómo puedo configurar una redirección en cPanel?

¿Cómo configurar una versión de php a través de .htaccess en cPanel?

Cómo configurar y ejecutar un cron en cPanel