Переменная $SERVER и двойной локальный хост

Я построил функцию, которая в основном связывает выдержку с соответствующим постом. Для этого я решил, что переменная $_SERVER['SERVER_NAME'] может пригодиться в строительстве пути.

Я не знаю, связано ли это с тем фактом, что я тестирую страницу в локальной среде, но на моем локальном компьютере путь такой http://localhost/webdir/localhost/index.php?p=3localhost повторяется дважды. Что может вызвать это?

2 ответа

Решение

Использовать как это

$link='http://'.$SERVER_['SERVER_NAME'];

И если вы не хотите какого-либо значения типа GET, используйте это

$l1=explode('?',$SERVER_['SERVER_NAME']);
$link='http://'.$l1[0];

Надеюсь, это поможет вам.

Попробуйте даже этот Edit отлично работает почти для всех типов URL.

<?php
$l1=explode('?',$_SERVER["SERVER_NAME"]);

$link='http://'.$l1[0];
echo $link;
echo '<h2><center>Add users</center></h2>';
$pageURL = $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://';
$pageURL1 = $_SERVER['SERVER_PORT'] != '80' ? $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"] : $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
$pageURL=$pageURL.$pageURL1;
//$pageURLt=explode('?',$pageURL);//Uncomment this and next line if you don't want get variable
//$pageURL=$pageURL.$pageURLt[0];
echo $pageURL;

?>
Другие вопросы по тегам