Saltar al contenido

Forzar correctamente SSL en wordpress a través de wp-config.php

Solución:

El código PHP no tiene que lidiar con SSL en absoluto en tal caso. Aquí se aplica el principio clásico de SoC: si su código no funciona explícitamente con la conexión (en WP no lo hace), debe dejar la verificación del protocolo en el servidor web.

También debe evitar definir el puerto en sus reglas de reescritura. En caso de que no esté utilizando la configuración de WP multisitio, puede intentar:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Usé este. que está bien para continuar.

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
   $_SERVER['HTTPS']='on';

si el puerto de su servidor es diferente del 443, puede especificarlo. De lo contrario, no es necesario volver a utilizarlo.

Reglas de .htaccess corregidas (como se detalla en wiki.apache.org):

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://mysslcertdomainname.com/$1 [R,L]

Normalmente, sus ejemplos de código (1,2,3) no son necesarios con Wordpress, pero parece que tiene algún tipo de proxy basado en la pregunta.

  1. No es bueno Generará una advertencia de PHP (configuración estándar de php) si HTTP_X_FORWARDED_PROTO no está configurado por el servidor web.
  2. Bien La variable de verificación existe antes de verificar el valor. No genera advertencias.
  3. Bien Mejor**

** Como regla general cambia _SERVER variables (como SERVER_PORT y HTTPS) se desaconsejan a menos que tenga una configuración no tan común (es decir, detrás del proxy, que es la única razón para este código).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *