2010-07-14 3 views
0

현재 "레거시"웹 사이트를 xhtml/css로 업데이트하고 있으므로 재 설계를 진행할 수 있습니다. 모든 페이지는 PHP를 통해 헤더가 포함되어 있습니다. 문제는 만약 내가 스타일 시트를 "style.css"로 헤더에서 참조한다면 그것은 현재 디렉토리에서 스타일 시트가없는 스타일 시트를 찾는다는 것입니다. 절대 경로를 사용해야합니까, 아니면이를 수행하는 더 좋은 방법이 있습니까?PHP에 포함 된 헤더의 링크 스타일 시트

+0

답장을 보내 주셔서 감사합니다. 일부 프로그래머와 여기서 일하기 때문에 웹 사이트의 구조를 변경할 수 없습니다. 아니면 최소한 파일을 움직이지 마세요. 아마도 제대로 설명하지 못했지만, 헤더 파일에는 스타일 시트에 대한 참조가 들어 있습니다. 우리 페이지의 배너와 사이드 바를 구성하는 헤더 파일은 웹 사이트의 모든 단일 페이지에 포함됩니다. 그 중 다수는 서로 다른 폴더 깊이에 있습니다. 상대 경로는 모두 달라질 것입니다. 어디서나이 스타일 시트를 올바르게 참조 할 수있는 방법이 필요합니다. –

답변

1

아래 줄은 "assets"디렉토리가 홈 디렉토리에있는 한 include/required인지 여부에 관계없이 모든 HTML/PHP 파일에서 작동합니다. 나는 이것이 모든 "href"속성 (즉, 앵커)에 해당된다고 말하고 있습니다.

<link href="/assets/css/style.css" rel="stylesheet" type="text/css" /> 

당신이 PHP의 inluclude와 CSS 파일을 포함하는 경우, 당신은이 기능을 포함하는 실행되고있는 모든 파일의 상대 경로를 알고 있어야합니다 - 절대 URL은 허용되지 않습니다.

0

CSS 파일의 경로는 PHP 페이지가 서버에있는 로컬 디스크 파일 시스템 경로가 아니라 기본 PHP 페이지 (브라우저 주소 표시 줄에있는 URL)를 요청하는 데 사용 된 URL을 기준으로합니다 기계. CSS 파일은 웹 서버가 아니라 웹 브라우저에 의해로드됩니다.

HTML 헤드에서 <link href>에 사용할 상대 스타일 시트 경로를 확인하려면 PHP 페이지와 CSS 파일의 절대 URL을 알아야 상대적인 CSS를 추출 할 수 있습니다 그것으로부터의 길.