Cómo usar .htaccess para redirigir a https en cPanel – Certificados SSL –

Una vez que se instala un certificado SSL y se puede acceder al sitio a través de https:// de forma adecuada, es posible que desee que se pueda acceder a él a través de https:// de forma predeterminada. En otras palabras, al escribir dominio.com en un navegador web, el usuario debe ser redirigido a https://dominio.com para acceder al sitio de forma segura.

En este artículo, repasaremos algunos de los tipos básicos de redirección HTTPS y mostraremos cómo usar .htaccess para forzar HTTPS en Cpanel.

El archivo en sí se puede encontrar si va a cPanel >> Administrador de archivos. Allí, busque la raíz del documento de su sitio web. Para los dominios principales de cPanel, la carpeta suele ser 'public_html'.

Si el sitio web es un complemento, puede buscar la raíz del documento en el menú Dominios:

Cuando encuentre la carpeta, es posible que el archivo .htaccess ya esté allí. Para volver a verificarlo, haga clic en Configuración en la esquina superior derecha y marque Mostrar archivos ocultos (archivos de puntos).

Si el archivo no apareció, no dudes en crearlo haciendo clic en +Archivo. Asegúrese de nombrar el archivo .htaccess, comenzando con el punto.

Para abrir el archivo, haga clic derecho en él y luego haga clic en Editar. En la siguiente ventana emergente, haga clic en Editar también.

Tipos de redirecciones

Cuando se trata de configurar una regla de reescritura, es útil saber que existe un tipo de redirección permanente y otro temporal. Cada tipo es procesado por los motores de búsqueda y los navegadores web de manera diferente, y tiene su propio código de estado, que se puede especificar explícitamente en una regla de reescritura:

  • 'Movido permanentemente' (redireccionamiento permanente) implica que el recurso solicitado se ha movido a una nueva ubicación de forma permanente, por lo que los motores de búsqueda no deben tener en cuenta las referencias a una ubicación anterior e indexar una nueva. Los navegadores web, a su vez, almacenarán una nueva URL en la memoria caché, por lo que le darán prioridad sobre la URL inicial.

  • 'Movido temporalmente' (redireccionamiento temporal) significa que la redirección se ha establecido por un período de tiempo limitado. Los motores de búsqueda en este caso deberían considerar ambas ubicaciones como iguales y la inicial seguiría siendo válida. En consecuencia, los navegadores no almacenarán en caché la nueva URL y la redirección se ejecutará cada vez que se solicite la URL inicial.

NOTA: Habilitar una redirección 302 durante un largo período de tiempo puede disminuir significativamente la clasificación de un sitio web en los resultados de búsqueda. En términos de redireccionamiento HTTP-HTTPS, todas las solicitudes del sitio se dividen entre http://dominio.com y https://dominio.com, ya que ambos son indexados por los motores de búsqueda por separado. Por lo tanto, en la mayoría de los casos es preferible un código de estado 301 para redireccionamientos HTTP-HTTPS.

See also  .so Registro de Nombre de Dominio | Comprar .so TLD

Describiremos exactamente dónde se debe especificar un código de estado en la siguiente sección.

Configuración de .htaccess rewriterule: casos de uso

NOTA: Las directivas especificadas a continuación funcionan con su propia sintaxis. Cambiar cualquier símbolo o carácter puede provocar un funcionamiento incorrecto o un fallo de la regla de reescritura. Para dejar las cosas claras, hemos resaltado las partes que se pueden modificar con color rojo (principalmente donde se debe colocar un determinado nombre de dominio).

Veamos una descripción general de las formas más comunes en las que se puede configurar una redirección de HTTP a HTTPS.

Habilitar la redirección HTTPS en Cpanel para todos los sitios

NOTA: Si ya tiene algún código en su .htaccess, agregue este encima de las reglas con un prefijo inicial similar.

Para redirigir todos los sitios dentro de una cuenta de cPanel, se debe agregar uno de los siguientes bloques al archivo .htaccess en el directorio de inicio de su cPanel ('/home/nombre de usuario cpanel/'):

a)
Reescribir motor encendido
ReescribirCond %{HTTPS} !=on
Reescribir regla ^/?(.*) https://%{SERVER_NAME}/$1

Este bloque habilita capacidades de reescritura, verifica que la solicitud inicial no tenga https:// y reescribe toda la URL solicitada, reemplazando http:// con https:// (por ejemplo, http://dominio.com/subcarpeta/ index.php será reemplazado por https://domain.com/subfolder/index.php).

b)
Reescribir motor encendido
RewriteCond %{HTTPS} de descuento
Reescribir regla (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Este bloque funciona de la misma manera que el anterior, solo que con la ayuda de una sintaxis diferente. Es posible utilizar cualquiera de las reglas de reescritura mencionadas anteriormente para redirigir todos los sitios dentro de una cuenta de cPanel.

Deshabilitar la aplicación de reglas de reescritura para un sitio específico

Si necesita configurar una redirección para todos los sitios dentro de la cuenta de cPanel excepto example.com, el bloque de código especificado a continuación se puede agregar a .htaccess en el directorio de inicio:

Reescribir motor encendido

ReescribirCond %{HTTP_HOST} ^(www\.)?ejemplo\.com|^(www\.)?ejemplo2\.com

Reescribir regla .* –

ReescribirCond %{HTTPS} !=on

Reescribir regla ^/?(.*) https://%{SERVER_NAME}/$1

La primera condición del bloque hace coincidir la URL solicitada con el nombre de dominio, incluido en el valor condicional (el que NO debe ser redirigido) y deja de reescribirse si coinciden. Es posible agregar nombres de dominio a la directiva condicional, separándolos con el '|' símbolo, o para especificar varias directivas condicionales (ver ejemplos a continuación).

See also  Un truco de dominio simple para reuniones de Zoom más fáciles - Blog

a) Separar dominios con '|'
Reescribir motor encendido
ReescribirCond %{HTTP_HOST} ^(www\.)?ejemplo\.com|^(www\.)?ejemplo2\.com
Reescribir regla .* –
ReescribirCond %{HTTPS} !=on
Reescribir regla ^/?(.*) https://%{SERVER_NAME}/$1

b) Especificar varias condiciones
Reescribir motor encendido
ReescribirCond %{HTTP_HOST} ^(www\.)?ejemplo\.com$
ReescribirCond %{HTTP_HOST} ^(www\.)?ejemplo2\.com$
Reescribir regla .* –
ReescribirCond %{HTTPS} !=on
Reescribir regla ^/?(.*) https://%{SERVER_NAME}/$1

.htaccess redirige HTTP a HTTPS o https://www para un solo sitio

a) Redirige todas las solicitudes http:// a la misma página, pero con https://

Reescribir motor encendido

ReescribirBase /

ReescribirCond %{HTTPS} !=on

ReescribirCond %{HTTP_HOST} ^ejemplo\.com$

ReescribirCond %{HTTP_HOST} ^www\.ejemplo\.com$

Reescribir regla .* https://ejemplo.com%{REQUEST_URI}

b) Redirige todas las solicitudes http:// a la misma página, pero con https://www.

Reescribir motor encendido

ReescribirBase /

ReescribirCond %{HTTPS} !=on

ReescribirCond %{HTTP_HOST} ^ejemplo\.com$

ReescribirCond %{HTTP_HOST} ^www\.ejemplo\.com$

Reescribir regla .* https://www.ejemplo.com%{REQUEST_URI}

.htaccess Fuerza 'https://' o 'https://www

a) Redirige todas las solicitudes http:// y https:// a la misma página, pero con https://example.com (también redirige desde https://www.example.com a https://example.com)

Reescribir motor encendido

ReescribirBase /

ReescribirCond %{HTTPS} !=on

ReescribirCond %{HTTP_HOST} ^ejemplo\.com$

ReescribirCond %{HTTP_HOST} ^www\.ejemplo\.com$

Reescribir regla .* https://ejemplo.com%{REQUEST_URI}

ReescribirCond %{HTTPS} = activado

ReescribirCond %{HTTP_HOST} ^www\.ejemplo\.com$

Reescribir regla .* https://ejemplo.com%{REQUEST_URI}

b) Redirige todas las solicitudes http:// y https:// a la misma página, pero con https://www (también redirige https://example.com a https://www.example.com)

Reescribir motor encendido

ReescribirBase /

ReescribirCond %{HTTPS} !=on

ReescribirCond %{HTTP_HOST} ^ejemplo\.com$

ReescribirCond %{HTTP_HOST} ^www\.ejemplo\.com$

Reescribir regla .* https://www.ejemplo.com%{REQUEST_URI}

ReescribirCond %{HTTPS} = activado

ReescribirCond %{HTTP_HOST} ^ejemplo\.com$

Reescribir regla .* https://www.ejemplo.com%{REQUEST_URI}

.htaccess Fuerza 'http://' o 'http://www.'

a) Redirige a todos los visitantes del sitio a la misma página, pero con http:// forzado + redirecciones http://www.example.com a http://example.com

Reescribir motor encendido

ReescribirBase /

ReescribirCond %{HTTPS} = activado

ReescribirCond %{HTTP_HOST} ^ejemplo\.com$

ReescribirCond %{HTTP_HOST} ^www\.ejemplo\.com$

Reescribir regla .* http://ejemplo.com%{REQUEST_URI}

ReescribirCond %{HTTPS} !=on

ReescribirCond %{HTTP_HOST} ^www\.ejemplo\.com$

Reescribir regla .* http://ejemplo.com%{REQUEST_URI}

b) Redirige a todos los visitantes del sitio a la misma página, pero con http://www + redirecciones forzadas de http://example.com a http://www.example.com

See also  Instalación de un certificado SSL en Synology NAS - Alojamiento -

Reescribir motor encendido

ReescribirBase /

ReescribirCond %{HTTPS} = activado

ReescribirCond %{HTTP_HOST} ^ejemplo\.com$

ReescribirCond %{HTTP_HOST} ^www\.ejemplo\.com$

Reescribir regla .* http://ejemplo.com%{REQUEST_URI}

ReescribirCond %{HTTPS} !=on

ReescribirCond %{HTTP_HOST} ^ejemplo\.com$

Reescribir regla .* http://www.ejemplo.com%{REQUEST_URI}

Redirigir hacia/desde un subdominio

a) Redirecciones desde ejemplo.com o www.ejemplo.com (tanto http:// como https://) a un subdominio específico

Reescribir motor encendido

ReescribirBase /

ReescribirCond %{HTTP_HOST} ^ejemplo\.com$

ReescribirCond %{HTTP_HOST} ^www\.ejemplo\.com$

Reescribir regla .* https://subdominio.ejemplo.com%{REQUEST_URI}

b) Redirecciones desde un subdominio (tanto http:// como https://) a https://www.example.com

Reescribir motor encendido

ReescribirBase /

ReescribirCond %{HTTP_HOST} ^subdominio\.ejemplo\.com$

Reescribir regla .* https://www.ejemplo.com%{REQUEST_URI}

Redirigir de http:// a https:// o https://www con el modo SSL flexible de CloudFlare

a) Redirección básica de http:// a https://, pero este bloque debe usarse junto con el modo SSL flexible de CloudFlare

Reescribir motor encendido

ReescribirBase /

ReescribirCond %{HTTPS} !=on

RewriteCond %{HTTP:X-Forwarded-Proto} !https

ReescribirCond %{HTTP_HOST} ^ejemplo\.com$

ReescribirCond %{HTTP_HOST} ^www\.ejemplo\.com$

Reescribir regla .* https://ejemplo.com%{REQUEST_URI}

b) La misma regla, pero redirige a https://www

Reescribir motor encendido

ReescribirBase /

ReescribirCond %{HTTPS} !=on

RewriteCond %{HTTP:X-Forwarded-Proto} !https

ReescribirCond %{HTTP_HOST} ^ejemplo\.com$

ReescribirCond %{HTTP_HOST} ^www\.ejemplo\.com$

Reescribir regla .* https://www.ejemplo.com%{REQUEST_URI}

Habilitar HTTPS para una subcarpeta específica

A veces es posible que necesites redirigir una determinada parte de un sitio web ubicado en una subcarpeta específica, dejando el resto del sitio como está. Para hacer esto, inserte el siguiente bloque en .htaccess:

Reescribir motor encendido

ReescribirCond %{HTTPS} !=on

Reescribir regla ^/?subcarpeta/(.*) https://%www.ejemplo.com/subcarpeta/$1

Esta regla se aplica si solo se menciona la subcarpeta especificada en la solicitud inicial.

.htaccess Forzar HTTPS para una página específica

La regla de reescritura para redirigir una página específica es similar a la anterior:

Reescribir motor encendido

ReescribirCond %{HTTPS} !=on

Reescribir regla ^ejemplo\.HTMLhttps://www.ejemplo.com/ejemplo.HTML

Sólo se redireccionará la página solicitada; otro contenido del sitio…

Loading Facebook Comments ...
Loading Disqus Comments ...