Tuesday, 20 March 2018

Get the full URL in PHP





I use this code to get the full URL:



$actual_link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];


The problem is that I use some masks in my .htaccess, so what we see in the URL is not always the real path of the file.




What I need is to get the URL, what is written in the URL, nothing more and nothing less—the full URL.



I need to get how it appears in the Navigation Bar in the web browser, and not the real path of the file on the server.


Answer



Have a look at $_SERVER['REQUEST_URI'], i.e.



$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";


(Note that the double quoted string syntax is perfectly correct)




If you want to support both HTTP and HTTPS, you can use



$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";


Editor's note: using this code has security implications. The client can set HTTP_HOST and REQUEST_URI to any arbitrary value it wants.


No comments:

Post a Comment

casting - Why wasn't Tobey Maguire in The Amazing Spider-Man? - Movies & TV

In the Spider-Man franchise, Tobey Maguire is an outstanding performer as a Spider-Man and also reprised his role in the sequels Spider-Man...