Avatar ·

Cómo obtener la URL completa de la página actual en PHP

¡Hola a todos! Soy un desarrollador PHP principiante y tengo un problema. Necesito obtener la URL completa de la página actual, incluyendo el protocolo (http o https), el dominio, la ruta y todos los parámetros GET. He probado varios métodos, pero cada vez algo sale mal. Probé usar `$_SERVER['REQUEST_URI']` — devuelve solo la ruta, por ejemplo `/page.php?id=5`, sin el dominio ni el protocolo. Y `$_SERVER['HTTP_HOST']` da solo el dominio, por ejemplo `example.com`. Si simplemente los concateno con `echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];`, al trabajar con HTTPS el protocolo será incorrecto — quedará `http://`. También noté que `$_SERVER['HTTPS']` a veces no está definido, especialmente en servidores locales. Y si la página se abre con `www` o sin `www`, también afecta. Además, algunos hosting usan puertos, por ejemplo `localhost:8080`, y hay que tenerlos en cuenta. En resumen, estoy confundido. Díganme cómo construir correctamente y de manera confiable la URL completa en PHP, para que funcione en cualquier