PHP – Obtener url actual sin parámetros

Ya vimos en un post anterior cómo obtener la url actual en php de una forma sencilla. El problema es cuando la url tiene parámetros y no los queremos. Necesitamos la url limpia de parámetros. Vamos cómo obtener la url actual sin parámetros en PHP.

Pongamos por ejemplo la siguiente url, donde podemos apreciar el enlace con parámetros. El enlace sería hasta el .php, y los parámetros vendrían después del signo de interrogación:

https://www.miweb.com/lapagina.php?parametro1=5&metro2=3

Como vemos, el ? separa la url de los parámetros, y cada uno de los parámetros se separan con el signo &.

Pues bien, debes recordar que $_SERVER[‘REQUEST_URI’] te devuelve la página actual, pero con los parámetros incluídos (lapagina.php?parametro1=5¶metro2=3). Veamos cómo tener la url actual quitando los parámetros:

$urlsinparametros= explode('?', $_SERVER['REQUEST_URI'], 2);
return "https://". $_SERVER["HTTP_HOST"] . $urlsinparametros[0];

Con la función explode, separamos la string en dos. Como le indicamos que el separador es el signo ?, tendremos una array que contiene en su primer valor el enlace, y en el segundo valor los parámetros.

$urlsinparametros[0] sería https://www.miweb.com/lapagina.php
$urlsinparametros[1] sería parametro1=5&metro2=3

Por lo tanto, en el primer campo de la variable, tendríamos la dirección sin parámetros:

https://www.miweb.com/lapagina.php

Es una manera de hacerlo. Hay varias, pero quizás ésta sea la más sencilla. Espero que os sea de utilidad este artículo para obtener la url actual sin parámetros con PHP.


Más información: