처음에는 같은 도메인 내에있는 리소스에 연결할 때 절대 경로를 사용하면 안됩니다. 물론, 도메인 이름을 변경하면 도움이 될 것이지만 더 중요한 것은 절대 경로를 사용하면 사용자 에이전트가 도메인의 IP 주소를 다시 확인해야하므로 시간이 걸리고 당신이하지 않았다면 필요합니다.
사이트 외부에있는 리소스를 참조 할 때는 절대 경로 (http://.....
)를 사용해야합니다.
상대 경로를 사용하려면 현재 파일이 디렉토리 구조에있는 위치를 알아야하며 대상 리소스가 어디에 있는지 (상대적으로 말하면) 이해해야합니다. 여기에 몇 가지 규칙이 따를 수 있습니다
대상 자원이 소스 파일과 같은 디렉토리에있는 경우, 경로가 필요하지 않습니다 - 단지 대상 자원의 이름, 즉 넣어 : myFile.html
대상이 만약을 리소스가 as 소스 파일의 하위 디렉토리에있는 경우 소스 파일과 동일한 폴더에있는 디렉토리 이름으로 경로를 시작하고 거기에서 경로를 완성하십시오 (예 : images/myimage.png
대상 리소스가 원본보다 높은 수준의 디렉터리에서 ../
을 사용하여 원본의 상위 디렉터리로 이동하십시오. 예를 들어, 현재 파일이있는 디렉토리보다 한 디렉토리 높은 파일을 얻으려면 : ../myFile.html
. 두 개 이상의 디렉토리로 이동해야하는 경우 배수를 조합 할 수 있습니다. 즉 ../../myFile.html
은 두 개의 디렉토리를 사용하여 파일을 찾습니다.
소스가 전반적인 사이트 구조에서 상당히 멀리 떨어져 있다면 여러 단계 올라 가기보다는 사이트 루트에서 시작하여 아래로 나아가는 것이 더 쉬울 수 있습니다. 이 경우 경로의 시작을 /
으로 시작하여 사이트의 루트에서 시작해야 함을 나타냅니다. 예 : /index.html
은 사이트의 루트 디렉토리에있는 index.html
파일로 이동한다는 의미입니다.
모든 이미지와 오디오에 상대 경로를 사용하지만이 질문은 탐색과 관련하여 완전히 다릅니다. – Lumo5
* "모든 이미지와 오디오에 상대 경로를 사용하지만이 질문은 탐색과 관련하여 완전히 다릅니다."* ** 아니요, 그렇지 않습니다. 하이퍼 링크를 통한 탐색은 이미지 또는 다른 리소스를 참조하는 것과 똑같은 방식으로 작동합니다. 그래서 우리는 "자원"이라는 단어를 사용합니다. 리소스는 브라우저가로드해야하는 모든 유형의 외부 요소입니다. ** –