2012-06-12 3 views
1

이것은 어쩌면 그냥 사소한 질문이지만, 난 정말 포함 할 수있는 가장 좋은 방법이 무엇인지 모르는, 정말 잘 사용하고 어떤 절대 경로절대 경로 소스 PHP는

를 사용하여 자바 스크립트, IMG, 또는 CSS를 말한다 이제 그럼 내가 JQuery와 같은 것을 포함 할 때이

<?php 
$prefix = '//'; 
$rootFolder = $prefix . $_SERVER['HTTP_HOST']; 
?> 

같은 코드를 사용하고, 난 그냥이 정도면 충분이

<script type="text/javascript" src="<?php echo $rootFolder ?>/jquery-1.7.1.min.js"></script> 

같은 코드를 입력합니다? 아니면 접두어를 "http : //"로 수정해야합니까? 아니면 다른 superglobal 변수 등을 사용하는 것이 더 좋은 방법일까요? 절대 및 상대 경로는 모두 웹 사이트에 자신의 중요성을 가지고 있기 때문에 사전 :

+1

왜 절대 경로가 필요합니까? src = "/ jquery-1.7.1.min.js"> – Sarke

+0

하위 폴더에 프로젝트가 호스팅되어 있습니까? 경로 앞에 접두어를 사용해야하는 이유는 무엇입니까? –

+0

폴더에 중첩 된 여러 페이지로 작업 할 때 많은 것을 사용하는 것이 번거롭기 때문에 ... /../ –

답변

1

이 질문에

감사는 올바른 방법으로 대답 할 수 없습니다.

검색 엔진의 경우 동일한 웹 사이트에 대한 절대 링크가있는 웹 사이트가 마음에 들지 않습니다. 현대 브라우저는 URL의 앞쪽에서 "/"가 사용되지 않는 한 현재 웹 사이트의 현재 URL 접두어로 상대 경로를 읽었습니다. 따라서 가능한 한 상대 경로를 사용하려고하면 해를 입지 않아야합니다.

또 다른 경우는입니다. 응용 프로그램이 여러 모듈로 확장 가능한 경우. 일반적으로 관리 모듈과 사용자 모듈을 하나씩 사용합니다. 이 모듈이 JS, CSS 및 다른 사람들을위한 공통 리소스 폴더를 공유한다면 상대 경로를 유용하고 쉽게 만들 수 있습니다.

귀하의 질문은 루트 폴더에서 리소스에 액세스하는 것과 관련되어 있으므로 상대 경로를 사용하는 것처럼 잘해야합니다.

+0

위의 방법을 사용하는 것이 좋습니다. 상대 경로를 사용하여 ../.. 사용하기에 충분합니까? 때때로 개발 모드에서 페이지를 한 폴더에서 다른 폴더로 이동하고 필요한 소스에 대한 상대 경로를 다시 코딩해야합니다. –

+0

@FelixPerdana, 이는 폴더 구조를 변경하면 시스템이 충돌 할 수있는 코드 작성이 불가능합니다. . 가장 단순한 이유는 구조 당 하나의 방어가 모든면에서 충분해야한다는 것입니다. – Starx

+0

@FelixPerdana 그리고, 아니요, 전자 메일이 아닌 이상 상대 경로를 절대적으로 사용하는 것을 선호합니다. – Starx

1

src="/jquery-1.7.1.min.js"을 사용하면 슬래시가 루트로 이동합니다. 그래서 당신이 어느 폴더 레벨에 있는지는 중요하지 않습니다. 항상 찾아 낼 것입니다. 이것은 기본적으로 절대적이지만 프로토콜과 도메인 이름은 없습니다.

항상 같은 서버에 있으면 호스트 이름을 전혀 필요로하지 않습니다. 도메인을 이동 한 경우 호스트 이름을 포함하지 않는 것이 가장 좋습니다.

+0

advice for thanks : :) –