Возможный дубликат:
получение текущего URL-адреса
PHP и вызов url?
Скажите, что кто-то ищет
http://subdomain.domainname.com/somedirectory/somefile.htm
В переменной $ _SERVER содержится http://subdomain.domainname.com/somedirectory/somefile.htm
// 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'] . "/";