Encontrar la URL base en PHP

Subodh Poudel 30 marzo 2022
Encontrar la URL base en PHP

Este artículo presentará algunos métodos para encontrar la URL base de una aplicación en PHP.

Use la variable superglobal $_SERVER para encontrar la URL base en PHP

La variable superglobal $_SERVER en PHP contiene la información sobre el servidor y el entorno de ejecución.

El término variable superglobal significa que se puede acceder a la variable en todos los ámbitos del programa. La variable es un array predefinida y contiene una amplia gama de índices.

Podemos usar los diversos índices para encontrar rutas, encabezados y ubicaciones de secuencias de comandos. Algunos ejemplos de los índices disponibles utilizados en la matriz $_SERVER son SERVER_NAME, SERVER_ADDR, HTTP_HOST, REMOTE_HOST, etc.

Los servidores web proporcionan estos índices. Por lo tanto, la disponibilidad de los índices varía según el servidor web. A continuación se muestra un ejemplo del uso del array $_SERVER.

<?php
echo $_SERVER['SERVER_NAME'];
?>

Producción :

localhost

En el ejemplo anterior, el servidor utilizado es localhost. La matriz $_SERVER['SERVER_NAME] devuelve el nombre de host del servidor con el que se ejecuta el script actual.

Podemos usar la matriz $_SERVER para encontrar la URL base de la aplicación en PHP. Los índices SERVER_NAME y REQUEST_URI son útiles para encontrar la URL base.

El índice REQUEST_URI devuelve el Unifrom Resource Identifier (URI) de la página web actual.

Por ejemplo, cree una variable $servidor y almacene $_SERVER['SERVER_NAME'] en ella. Del mismo modo, almacene $_SERVER['REQUEST_URI'] en la variable $uri.

A continuación, concatene la cadena http:// con las variables $server y $uri e imprímalas usando la función print.

Como resultado, podemos ver la URL base de la aplicación actual. El siguiente ejemplo muestra la ruta de la aplicación actual tal como se ejecuta en el localhost.

$server = $_SERVER['SERVER_NAME'];
$uri = $_SERVER['REQUEST_URI'];
print "http://" .$server. $uri;

Producción :

http://localhost/my_app/

También podemos obtener el nombre de host usando el índice HTTP_HOST en la matriz $_SERVER. El índice HTTP_HOST devuelve el encabezado de host de la solicitud actual en la aplicación.

La diferencia entre este y el índice SERVER_NAME es que HTTP_HOST recupera el encabezado de la solicitud del cliente mientras que SERVER_NAME recupera la información definida en la configuración del servidor.

El índice SERVER_NAME es más fiable que el HTTP_HOST ya que el valor lo devuelve el servidor y no se puede modificar. A continuación se muestra el ejemplo del índice HTTP_HOST para obtener la URL base de la aplicación.

$host = $_SERVER['HTTP_HOST'];
$uri = $_SERVER['REQUEST_URI'];
print "http://" .$host. $uri;

Producción :

http://localhost/my_app/

Arriba se muestra cómo podemos encontrar la URL base de una aplicación en PHP.

Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn