![¿Qué contiene exactamente la variable SERVER_PROTOCOL (Apache 2.4)?](https://rvso.com/image/697388/%C2%BFQu%C3%A9%20contiene%20exactamente%20la%20variable%20SERVER_PROTOCOL%20(Apache%202.4)%3F.png)
Tengo un sitio web atendido por Apache 2.4 que debería servir todos los contenidos a través de HTTPS. Ya tengo redirecciones apropiadas que funcionan correctamente, pero no detectan ningún caso patológico. Quería mejorar esa situación y, al hacer mi tarea, me encontré con el siguiente ejemplo eneste documento:
<If "%{SERVER_PROTOCOL} != 'HTTPS'">
Redirect "/admin/" "https://www.example.com/admin/"
</If>
Modifiqué ligeramente esto para reflejar mi situación:
<If "%{SERVER_PROTOCOL} != 'HTTPS'">
Redirect "/" "https://www.example.com/"
</If>
Ahora, cuando intento ver cualquier URL de mi sitio, el navegador entra en un bucle de redirección infinito.
Sospecho que el ejemplo en realidad es incorrecto. SERVER_PROTOCOL
no parece contener el valor HTTPS
bajo ninguna circunstancia. En cambio, según lo que he leído en otros artículos, contiene cosas como HTTP/1.1
(como su nombre lo indica).
Entonces mi pregunta es: ¿Qué SERVER_PROTOCOL
contiene exactamente, en qué circunstancias y en qué contexto? ¿Y cuál podría ser la razón por la que el sitio web de documentación oficial de Apache es el único que he encontrado durante varias horas de investigación que enumera HTTPS
como posible valor de SERVER_PROTOCOL
?
Respuesta1
Felicitaciones, encontró un error en la documentación de Apache. Considere denunciarlo.
En cuanto a su problema inmediato, parece que está buscando REQUEST_SCHEME
:que contendrá
La parte del esquema del URI de la solicitud.
por ejemplo, http
o https
.