답변:
..
상위 디렉토리를 표시하는 데 사용하십시오 .
background-image: url('../images/bg.png');
다음은 상대 파일 경로에 대해 알아야 할 모든 것입니다.
로 시작 /
하여 루트 디렉토리 로 돌아가서 시작합니다.
로 시작하면 ../
한 디렉토리 뒤로 이동하고 거기서 시작합니다.
로 시작하면 ../../
두 개의 디렉토리가 뒤로 이동하고 거기에서 시작됩니다 (등 ...).
앞으로 나아가려면 첫 번째 하위 디렉토리로 시작하고 계속 진행하십시오.
사용 ../
:
background-image: url('../images/bg.png');
원하는만큼 자주 사용할 수 있습니다. 예를 들어 ../../images/
다른 위치에서도 사용할 수 있습니다 . 예를 들어 ../images/../images/../images/
( ../images/
물론 동일 )
Chrome에서는 일부 HTTP 서버에서 웹 사이트를로드 할 때 절대 경로 (예 /images/sth.png
:)와 일부 상위 디렉토리에 대한 상대 경로 (예 :)가 모두 ../images/sth.png
작동합니다.
그러나!
로컬 파일 시스템에서 HTML 문서를로드 할 때 (Chrome에서!) 현재 디렉토리 위의 디렉토리에 액세스 할 수 없습니다. 즉 ../something/something.sth
, 절대 경로에 액세스 하고 상대 경로를 변경하면 도움이되지 않습니다.
../
do 를 사용하여 로컬 파일 시스템 상대 경로 가 제대로 작동 한다고보고 할 수 있습니다 .
여러 웹 사이트에서 사용할 수 있도록 스타일 시트 / 이미지를 폴더에 저장하거나 동일한 서버의 다른 사이트에서 동일한 파일을 재사용하려는 경우 내 브라우저 / Apache에서 다음 페이지로 이동하는 것을 허용하지 않습니다. 웹 사이트 루트 URL 위의 모든 상위 폴더. 이는 보안상의 이유로 명백해 보입니다. 지정된 웹 폴더가 아닌 다른 곳에서 서버를 탐색 할 수 없어야합니다.
예 : 작동하지 않음 : www.mywebsite.com/../images
해결 방법으로 Symlink를 사용합니다.
www.mywebsite.com 디렉토리로 이동하여 ln -s ../images images 명령을 실행하십시오.
이제 www.mywebsite.com/images는 www.mywebsite.com/../images를 가리 킵니다.