Tengo un pequeño ajax ejecutándose con php en un servidor. Ese directorio tiene un .htaccess que tiene el siguiente código:
RewriteEngine On RewriteCond %{HTTP_HOST} ^exampleDomain\.com [NC] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.exampleDomain.com/$1 [R,L]Esta parte está destinada a redirigir las solicitudes http a https. Sin embargo, llamo al ajax desde fuera del dominio, así que agregué:
Header set Access-Control-Allow-Origin "*"Esto está destinado a decirle al navegador que ignore la política CORS.
Estoy usando jQuery para hacer una solicitud de obtención (no creo que jQuery sea el problema), y solo funciona con https. Si hago una solicitud a http://exampleDomain.com , el servidor no responderá con el encabezado access-control-allow-origin. Por el contrario, http://www.exampleDomain.com , https://www.exampleDomain.com y https://exampleDomain.com responden con el encabezado. Quiero mantener la funcionalidad de actualización de HTTP, ya sea que use .htaccess o no, sin que interfiera con los encabezados que se devuelven.
Este es el código que hace la solicitud fallida:
$.get("http://exampleDomain.com/path/to/file.php", {}, res => console.log(res))Idealmente, simplemente cambiaría la solicitud a https, pero el código ya está en producción.
Estoy usando Apache2 y PHP7.