设置分页号的URL

I have some problems generating the url i want to put in my pagination numbers. I'm setting the url inside a class with

$this->url = rtrim($_SERVER['REQUEST_URI'], " /");

then inside another class I'm setting the href value on the pagination number with

echo "<a class='active' href='".$this->page->url."/".$i."/'>".$i."</a>";

So when i now navigate to my page the url is like this

localhost/designv2/blog/

Then when i click on number 1 in the pagination i get

localhost/designv2/blog/1/

But, then when i click on number 2 in the pagination i get

localhost/designv2/blog/1/2

And if i click on number 3 i get

localhost/designv2/blog/1/2/3

Why, does it keep on adding numbers to the url instead of replacing the old number?

I could split up the url, run it through a for loop and remove the last parameter but I'm using this url for other things on my pages aswell so i cant just remove the last parameter.

Any suggestions?

Before appending ID at the last in url, check and remove ID if exist.

Instead

$this->url = rtrim($_SERVER['REQUEST_URI'], " /");

Replace last occurence of /\/[0-9]\/$/ here (/1/ or /2/) to /.Try something like this

$url = $_SERVER['REQUEST_URI'];
$regex = '/\/[0-9]\/$/';
$this->url = preg_replace($regex, '/', $url);

Live demo

Try this code

  echo "<a class='active' href='/designv2/blog/".$i."/'>".$i."</a>";