2011-08-24 7 views
1

내 질문은 상대적 주소와 절대 주소에 관한 것입니다.상대 주소 및 절대 주소

나는 지난 몇 년 동안 모든 PHP 웹 사이트를 기반으로하는 프레임 워크를 만들었습니다.

모든 단일 페이지가 최상위 "index.php"파일에로드됩니다. 자원에 대한 경로로 결코 고투하지 않기 때문에 이것은 멋지다. 시스템의 모든 단일 레벨에서 모든 단일 리소스는 최상위 인덱스 파일에서 참조하므로 경로는 항상 비슷된다

(IMG의 SRC = "이미지/스프라이트/xxxxx.jpg") 을에서 시스템의 모든 단일 페이지

하지만 이제는 mod_rewrite를 소개하여 망가 뜨 렸습니다. 모드 재 작성이 내가 사용 해본 경로 시스템을 혼란스럽게 만든 것 같습니다. 이제 경로를 업데이트해야 할 때입니다. 스타일 시트와 이미지가 더 이상로드되지 않습니다.

어떻게 수정해야합니까? 상대 경로가 절대 경로보다 빠르게로드되는 것은 사실입니까? PHP에서 서버 파일 시스템의 루트를 찾아서 $ var에 할당 한 다음 $ var를 이미지 경로 앞에 추가하는 방법이 있습니까? 그게 그냥 내 이미지를 참조하는 것보다 빠릅니다 & "http://site.com/images/xxxx.jpg"로 스타일 시트?

나는 지금 배울 것이 많다. 아무 입력하십시오

답변

0

그냥 images 디렉토리가 같은입니다

img src="/images/sprites/xxxxx.jpg" 

전에 /을 추가

http://site.com/images/sprites/xxxxx.jpg 
1

어떻게 해결해야합니까?

/으로 시작하는 URI를 사용하면 현재 도메인의 루트 (동일한 프로토콜 및 포트 유지)에 상대적입니다.

절대 경로보다 상대적 경로가 더 빨리로드되는 것은 사실입니까?

그들은 더 짧기 때문에 기술적으로는 몇 바이트를 절약 할 수 있습니다. 이것은 중요한 절약은 아니지만.

PHP에서 서버 파일 시스템의 루트를 찾아서 $ var에 할당 한 다음 이미지 경로에 $ var를 추가 할 수있는 방법이 있습니까?

예, 위의 기술은 더 간단합니다.

0

$_SERVER["DOCUMENT_ROOT"] 당신이 물어 무엇을 얻을 것이다 :하지만

<?php $root = $_SERVER["DOCUMENT_ROOT"]; ?> 

동의 그 다른 포스터와 함께 루트 relati (선행 슬래시) 경로는 더 간단한 솔루션입니다.