Tuesday, March 20, 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

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...