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.
Have a look at $_SERVER[ REQUEST_URI ], i.e.
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
http://php.net/language.types.string#language.types.string.parsing.simple
http://php.net/language.types.string#language.types.string.parsing.simple
If you want to support both HTTP and HTTPS, you can use
$actual_link = (isset($_SERVER[ HTTPS ]) ? "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.