2010-12-31 4 views
0

최근에 최종 코드가 하위 도메인 (http://user.domain.com/) 또는 하위 도메인 (http://domain.com/user), 그리고 나는이 모르는 시나리오에 대한 모범 사례에 대해 잃어 버렸습니다.도메인, 하위 도메인 또는 디렉터에 대해 코드를 이식하기위한 모범 사례

  1. 사용 절대 경로 (/css/styles.css)과는
  2. 는 설정 파일을 가지고 경로로 변수를 선언 사용자 /되는 것을 포기 끝나는 경우 (<? php echo $domain . "/css/styles" ?>를) modrewrite : 나는 몇 가지 생각 할 수
  3. 상대 경로 (../css/styles.css)를 사용하십시오.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

답변

1

무언가를 배포 할 수있는 위치에 대해 질문이 있으면 가능한 한 절대 경로를 피하고 사용해야한다면 $_SERVER 수퍼 글로벌의 데이터를 사용하여 구성해야합니다. 값 $_SERVER['PHP_SELF']은 현재 실행중인 스크립트의 경로와 파일 이름을 포함, 당신은 다음과 같은 것을 사용하여 경로를 추출 할 수 있습니다 :

$path = dirname($_SERVER['PHP_SELF']); 

마찬가지로, 값 $_SERVER['HTTP_HOST']은 현재 호스트를 포함, 함께 두에서 당신 당신이 어디에 있든 경로를 구축 할 수 있습니다. HTTPS를 사용하는 경우 $_SERVER['HTTPS']에서 프로토콜을 확인해야 할 수도 있습니다.

그렇다면 가능한 한 상대 경로와 간단한 파일 및 디렉토리 구조를 사용하는 것이 가장 좋습니다. 모든 것을 더 읽기 쉽고 읽기 쉽게 만듭니다. 당신의 예에서와 같이, ../css/styles.css을 많이하고 있다면, 어떻게 사물이 어떻게 구성되어 있는지 재검토하고 싶을 것입니다.

1

2와 3의 혼합. 설정된 변수에 상대적인 경로를 사용하십시오.

관련 문제