2012-02-14 2 views
0

가능한 중복 :
Absolute path & Relative Path어디 절대 경로가 시작됩니까?

이것은 아주 기본적인 질문은,하지만 난 오랫동안이 이상 내 머리를 긁적 된 나는 누군가가 정리 도움이 될 수 있습니다 바라고 내 혼동.

저는 리눅스 서버에 공유 계정이 있습니다.
으로 public_html에 대한 경로는 다음과 같습니다 /home/myusername/public_html 내 웹 사이트에 대한 코드는 여기에 살고 : 등 'mycss', 'myjs', 'myphp', 같은 디렉토리가 mysite.com에서 /home/myusername/public_html/mysite.com 내가 절대 경로를 만들 때 (예를 들어, PHP 코드 또는 HTML 파일 내에서), 때때로 경로는 예를 들어, 집에 /에서 시작 /home/myusername/public_html/mysite.com/myphp/myfile.php 필요하고 때로는 mysite.com 내부에서 시작해야 예를 들어 /myphp/myfile.php

내 혼란 : 절대를 수행 할 때 경로는/home에서 시작해야하며 언제 mysite.com에서 시작해야합니까? 엄지 손가락 규칙이 있습니까? 아니면 누군가가 줄 수있는 통찰력이 있습니까?

+0

보통 당신은 항상 절대 경로를 사용할 수 있습니다 다만 것 항상 상대 경로를 사용할 수있는 것은 아닙니다. 따라서/myphp/ –

+0

NOT A DUPLICATE에서 시작할 수있는 경우에도 항상/home /에서 시작하는 것이 안전합니다. 이것은 절대 경로와 상대 경로에 대한 일반적인 질문이 아니 었습니다. 질문은 ABBREVIATED 절대 경로 대 FULL 절대 경로를 사용하는 시점에 관한 것이 었으며 아래의 Jakub가 답변했으며 http://stackoverflow.com/questions/181805/absolute-path-relative-path에 나와 있지 않습니다 – moondog

답변

1

두 가지 종류의 절대/관련성을 혼동하고 있습니다.

: 당신은 같은 폴더가 있다면 그래서 ( /home/myusername/public_html/mysite.com 예)

당신이 웹 사이트 이용 약관 (이미지 /의 JS/HTML 물건)에 말하는 경우

, 당신의 absolute는 루트 웹 사이트 폴더의 경로입니다

/home/myusername/public_html/mysite.com/images/bob.jpg 

HTML에서 절대 경로는 /images/bob.jpg이고 상대 웹 사이트 경로는 images/bob.jpg 등입니다.

PHP/서버 측 포함을 수행하는 경우 전체 절대 경로를 사용해야하므로 전체 /home/myusername/public_html/mysite.com 구조가됩니다.

당신이 (가 이동하는 PHP 코드 쉽게 대부분의 경우에 선호) 상대 방법을 사용하려는 경우뿐만 아니라 같은 시간에, 당신은 include('../database/connect.php');

+0

감사합니다. 매우 도움이됩니다. 내가 올바르게 이해한다면 클라이언트 측 코드 (예 : html, javascript)에서 축약 된 절대 경로를 사용한다고 말합니다. 서버 측 코드 (예 : php, htaccess)의 경우 FULL 절대 경로를 사용하십시오. 그게 맞습니까? (또한 상대 경로를 사용하는 것에 대한 팁을 주셔서 감사합니다.) – moondog

+0

올바른 '웹 사이트 내용'은 웹 사이트 파일이있는 위치를 반복합니다. 혼란은 폴더 구조 안에서만 존재하는 PHP 스크립트와 관련이 있으며, 'root'는'/'또는'c : \ '등입니다. – Jakub

0

웹 사이트에 따라 다릅니다. 웹 사이트에 PHP 코드를 작성 했습니까? 일반적으로 절대 경로는 웹 루트를 가리 킵니다 (예 : /home/myusername/public_html/mysite.com). 보안 목적으로 웹 루트 외부에있는 config 또는 기타 포함 파일이있는 경우 - 다른 경로가 필요할 수도 있습니다 경로 (예 :/home/myusername/notwebroot)

0

실제로 상대 경로가 절대 경로와 혼동하는 것입니다.

/home/myusername/public_html 

절대 경로

/public_html/anything 
/myphp/myfile.php 
/mysite.com/anything 

이 모두 상대 경로이다이다.

루트에서 시작하지 않으면 절대 경로가 아닙니다. 웹 사이트의 루트에서 시작하는 경우 상대 경로입니다. 왜냐하면 웹 사이트를 다른 폴더로 이동하면이 디렉토리와 파일의 경로를 변경할 필요가 없기 때문입니다 (예 : 웹 루트와 관련이 있음) .

+0

Funny 기본적으로 상대 경로와 절대 경로에 관한 upvoted/accepted answer와 같은 대답과 누군가가 그것을 downvotes. – Brian

관련 문제