Какая переменная $ _SERVER предоставляет полный URL

Возможный дубликат:
получение текущего URL-адреса
PHP и вызов url?

Скажите, что кто-то ищет

http://subdomain.domainname.com/somedirectory/somefile.htm

В переменной $ _SERVER содержится http://subdomain.domainname.com/somedirectory/somefile.htm

Related of "Какая переменная $ _SERVER предоставляет полный URL"

 // Get HTTP/HTTPS (the possible values for this vary from server to server) $myUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && !in_array(strtolower($_SERVER['HTTPS']),array('off','no'))) ? 'https' : 'http'; // Get domain portion $myUrl .= '://'.$_SERVER['HTTP_HOST']; // Get path to script $myUrl .= $_SERVER['REQUEST_URI']; // Add path info, if any if (!empty($_SERVER['PATH_INFO'])) $myUrl .= $_SERVER['PATH_INFO']; // Add query string, if any (some servers include a ?, some don't) if (!empty($_SERVER['QUERY_STRING'])) $myUrl .= '?'.ltrim($_SERVER['REQUEST_URI'],'?'); echo $myUrl; 

… моя самая устойчивая рутина для этого.

Вы можете попробовать:

 echo '<pre>'; print_r($_SERVER); echo '</pre>'; 

Комбинация $_SERVER['HTTP_HOST'] и $_SERVER['SCRIPT_NAME'] или $_SERVER['PHP_SELF'] должна быть тем, что вы ищете.

Вам нужно построить его самостоятельно;

 echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 

Вы также можете использовать $_SERVER['HTTPS'] для обнаружения HTTP или HTTPS.

Я рекомендую использовать $_SERVER['REQUEST_URI'] как это именно то, что пользователь ищет, перед любыми переписываниями или чем-то еще, и включает в себя переменные GET

В $ _SERVER нет полного URL-адреса. Но вы можете использовать этот код:

 $url = "http://" . $_SERVER['HTTP_HOST'] . "/" . $_SERVER['PHP_SELF'] . "/" . $_SERVER['QUERYSTRING'] . "/";