2011-09-16 3 views
0

$_SERVER["SERVER_NAME"];$_SERVER["DOCUMENT_ROOT"];은 항상 같은 디렉토리로 해석됩니까? 그들이하지 않을 시나리오가 있습니까?

편집 :

나는이 내가 SERVER_NAME 항상 DOCUMENT_ROOT에 매핑에만 여부를 확립하기 위해 노력하고있어 같은 쿄코하지 알고, 명확합니다. 즉, 각각을 따라 가면 항상 서버 파일 시스템의 동일한 물리적 위치에 도착하게됩니다.

+0

그래서 SERVER_NAME와 같은 값이 될 수 기본적으로, "SERVER_NAME 및 DOCUMENT_ROOT 적 다릅니 까?" –

+0

@ Jonathan- 편집 내용 – Yarin

+0

@ 야린. 다른 사람들에게 어떻게 보이는지 알려주고 싶었습니다. 고마워. –

답변

2
  • SERVER_NAME 인터넷 vieable 주소는 - stackoverflow.com
  • DOCUMENT_ROOT입니다 현재 디렉토리의 절대 URL - 서버/데이터/유래에/...

하지만 네,이 목표 않습니다 같은 디렉토리 (매번)

+0

알아. 서로 다른지 여부를 묻지 않고, 동일한 실제 디렉토리를 가리키는 지 여부 만 묻습니다. 예 : DOCUMENT_ROOT에 공개적으로 액세스 할 수있는 파일은 항상 SERVER_NAME/파일에 있습니까? – Yarin

+0

@Yarin : 당신이 당신의 대답을 업데이트하면 네 그들이 – genesis

+0

OK- 나는 당신이 내 질문에 – Yarin

1

SERVER_NAME는 실제 도메인 이름이어야 경로 아니다. REQUEST_URI는 사용자가 입력 한대로 경로를 제공하며, 웹 서버 나 PHP 자체가 제공하지 않는 내용을 전달할 수 있습니다 (예 : 파일을 사용하는 것으로 가정하면 웹 서버의 관점에서 절대 경로를 제공하는 REQUEST_URI을 포함 할 수 있습니다. 심지어 정말 $some_relative_path

DOCUMENT_ROOT에 무엇에 따라 달라 들어

) 파일에 t 귀하의 웹 사이트가 실제로 서버에 살고있는 파일 위치로 절대 서버 경로입니다. DOCUMENT_ROOT는 다른 PHP 파일을 포함하는 데 유용 할 수 있지만 보안 위험이 있으므로 연결하는 클라이언트에 공개해서는 안됩니다.

그들은, 어떤 시나리오에서 동일해서는 안 문서 루트로 서버에 어떤 이유로 인해 설치 /에 대한 않는. 시스템 파일조차도 웹에 노출 될 것이므로 매우 나쁜 아이디어 일 것입니다.

+0

@ Cfreak- 임씨가 정하려고하는 것은 그들이 항상 같은 장소를 가리킬 지 아닌지, 그들이 같은지 아닌지입니다. 일반적으로 DOCUMENT_ROOT에서 SERVER_NAME을 (를) 탐색 할 때 제공되는 색인 파일이 있으므로 그것이 사실이 아닐 때 인스턴스를 찾으려고합니다. – Yarin

0

SERVER_NAME는 스크립트가 실행 된 서버의 이름입니다. 가상 호스트 이름이 될 수도 있습니다.

DOCUMENT_ROOT는 실행되는 스크립트에 대한 경로입니다. 당신이 URL 재 작성의 어떤 종류를 실행하는 경우, 그것은

관련 문제