2010-08-16 6 views
4

기본적으로 서버의 다른 포트로 이동하는 앵커를 만들어야합니다. 예를 들어 서버가 domain.com:555에 호스팅 된 경우 domain.com:777으로 이동하는 링크가 필요합니다. 캐치는 항상 domain.com이 아니라는 것입니다. DNS가 제대로 작동하지 않을 것으로 예상 할 수 있습니다.이 경우 주소를 사용하여 xx.xx.xx.xx:555xx.xx.xx.xx:777과 같이 탐색합니다.PHP에서 서버의 호스트 이름 또는 IP 주소 받기

PHP 스크립트가 실행되는 서버의 호스트 이름을 알아야합니다. SERVER_ADDR을 사용해 보았습니다 만, 이유는 서버의 사설 IP를 제공하기 때문입니다.

URL의 도메인/ip 부분을 어떻게 얻을 수 있습니까?

답변

14

당신이 원하는 : 호스트의

내용 : 현재 요청 헤더를, 존재하는 경우 포함 'HTTP_HOST'를 들어, $_SERVER 미리 정의 된 변수에서

$_SERVER['HTTP_HOST'] 

.

$_SERVER['SERVER_NAME'] 

유용하고 유익한 상대적인 장점 this Stack Overflow discussion :

또한 찾을 수 있습니다.

+0

은 안정적입니까? – HyderA

+0

어느 것? 'HTTP_HOST' 또는'SERVER_NAME'? 이 두 가지에 대한 대답은 아마 내가 읽은 토론을 읽지 않을 것입니다! –

+0

@ gAMBOOKa - 서버가 헤더에 호스트 이름을 출력하지 않았다면 항상 신뢰할 수 있습니다. 웹 호스팅 서버 인 경우에는 거의 없습니다. – SimonDowdles

3

시도해보십시오 $_SERVER['HTTP_HOST']; 이것은 호스트 이름/도메인 이름을 알려줍니다.

+3

@ Dominic Rodger - 귀하의 답변을 두 번 게시 해 주셔서 사과드립니다. 게시 한 후에 귀하의 답변을 보았습니다. 그 신용은 바로 귀하의 것입니다! – SimonDowdles

+0

꽤 괜찮습니다. 항상 발생합니다! –