El código de redirección HTTP a HTTPS 301 no funciona, dice demasiadas redirecciones

3

Estoy usando Bluehost para uno de mis sitios web. Recientemente, recientemente, moví mi sitio de HTTP a HTTPS. Después de eso, he usado otro código diferente, incluido el siguiente, para forzar HTTPS en todo mi sitio web.

# SSL Rewrite
RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

Después de usar esta publicación, cuando verifico la redirección en el verificador de redireccionamiento disponible en línea, recibo los siguientes mensajes.

But it is not working. Too many redirects. Please try to reduce your number of redirects for http://www.example.com. You use 19 Redirects. Ideally, you should not use more than 3 Redirects in a redirect chain. More than three redirections will produce unnecessary load on your server and reduce speed, which ends up in bad user experience.

Y si desea acceder a mi sitio web desde un navegador , recibo una advertencia como tal:

The www.example.com page isn’t working. www.example.com redirected you too many times.

Creo que algún bucle de redirección estaba creando ese problema.

Sin embargo,

Estado de mi sitio web ahora mismo: sin usar ningún código en htaccess

  1. https//www.example.com is working just fine. returning 200 OK. 200 OK2

  2. https//example.com is now 301 redirected to https//www.example.com (So, i think it is also just fine)

El problema es:

  1. http//example.com is now 301 redirected to http//www.example.com
  2. http//www. example.com is returning 200 OK.

Para resolver el problema 3, incluí el siguiente código en mi htaccess

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

Después de eso encontré que:

http//example.com is now 301 redirected to https//www.example.com

Entonces el problema está resuelto por:

http//example.com
https//example.com
https//www.example.com

Ahora solo necesito algo de código para redirigir solo 301:

http//www.example.com TO https//www.example.com`

¿Alguien puede ayudarme aquí?

Y lo siento si explico mi problema de una manera cableada ...: D. El asunto es que no soy un tipo experto en esto. Espero que todos lo entiendan.

1

Prueba esto:

RewriteEngine On

# If not www
RewriteCond %{HTTP_HOST} !^www\. [NC]
# rewrite to https and www
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L,NE]

# If not HTTPS
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L,NE]
1
  • Muchas gracias por su respuesta. ¡Pero no funcionó! > Primero se redirecciona 301 desde http://www.example.com **TO** https://www.example.com. después de eso, sigue redirigiendo https://www.example.com **TO** https://www.example.comuna y otra vez alrededor de 20 veces.
    Ins.B
    2 de marzo de 2017 a las 7:15