Mod_Rewrite para Apache2 no funciona para solicitudes de máquinas como curl. ¿Qué puedo hacer para reenviar esas solicitudes?

Acabo de configurar SSL en mi servidor. Quería que las solicitudes antiguas al sitio http se reenviaran a https. Funciona muy bien en el navegador con una condición de reescritura y una regla de reescritura en Apache2. Sin embargo, uno de nuestros socios tiene un servidor que realiza solicitudes a una determinada URL, y el sitio no parece estar reescribiendo esas URL correctamente.

Intento recrear este comportamiento usando curl. Cuando realizo la solicitud de URL con https (es decir, curl https://......), funciona correctamente y finaliza la solicitud como se esperaba. Cuando realizo la solicitud, la solicitud de URL con http (es decir, curl http://.......), devuelve un texto html que dice que esta página ha sido redirigida a https://..... . Cuando hago la solicitud http o https en el navegador, se reescribe correctamente.

Actualización: debo decir aquí que esto es simplemente un diagnóstico del comportamiento observado. Según el comentario a continuación, puede configurar curl para seguir las redirecciones, pero no creo que la máquina que realiza las solicitudes (que estoy tratando de acomodar) al servidor pueda seguir las redirecciones de esta manera.

Actualización adicional: si alguien sabe dónde se registraría que se envió la "notificación de redirección" (en los registros de apache), hágamelo saber. Entonces podría saber qué solicitudes no se redirigieron y si el "diagnóstico de rizo" anterior es ilegítimo. ¡Gracias!

Cualquier consejo apreciado y gracias por toda su ayuda. Avíseme si necesita alguna aclaración o si hay alguna configuración de Apache o más diagnósticos que deba proporcionar.

preguntado el 22 de mayo de 12 a las 18:05

oh ok gracias, iré a hacer eso. -

1 Respuestas

Tienes que decirle a cURL que siga las redirecciones (HTTP) (esto está deshabilitado por defecto). Puedes hacer esto pasándole el -L opción si está invocando cURL a través de la línea de comandos. Si lo invoca desde PHP, por ejemplo, configura el encabezado CURLOPT_FOLLOWLOCATION mediante el curl_setopt función.

contestado el 22 de mayo de 12 a las 21:05

Revisé la pregunta. Es útil saberlo, pero no creo que la máquina que realiza las solicitudes al sitio siga los redireccionamientos. - david groff

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.