2009-06-19 2 views
1

도메인 이름 내의 페이지에 URL을 연결하는 가장 좋은 방법은 무엇인지 궁금합니다. 예를 들어, www.example.com 도메인에 대한 .. 내가 건너 온 있었다사이트 내의 페이지에 상대 경로를 사용해야합니까? 아니면 상관 없습니까?

<a href="http://www.domain.com/test.html">test</a>

또는

문제의

<a href="test.html">test</a>

하나, 같은 링크가 할 수있는 템플릿을 사용하는 동안 .. 만약 내가 상대 링크 HTML 템플릿을 사용하는 다음 일반적인 링크가 해당 페이지에서 작동하지 않습니다 디렉토리 www.example.com/directory2에 대한 동일한 템플릿을 사용할 수 없습니다 .. CSS도 자바 스크립트 파일도 작동하지 않습니다.

필자는 템플릿을 복제하거나 경로를 절대적으로 설정해야했습니다. 나는 절대 경로를 선택했다. 따라서 템플릿 경로는 http://www.mydomain.com/으로 시작됩니다. 이로 인해 여러 HTTP 요청, 도메인 확인 또는 기타 다른 성능 문제가 발생합니까? 당신의 suggesstion/이것에 대한 의견은 무엇입니까?

감사합니다.

답변

1

절대 경로를 사용하면 추가 오버 헤드가 추가되지 않지만 로컬 링크에 대해 허용되는 방법은 상대 링크를 사용하는 것입니다. 상대 링크는 wget 또는 Down-Them-All (웹 사이트 다운로드 도구)과 같은 도구를 사용하여 절대 링크와 다르게 취급 될 수 있습니다.

그러나 템플릿 솔루션이 절대 링크에서 가장 잘 작동하는 경우에는 그 방법을 고수하지 않는 것입니다. 일시적으로 절대 링크는 원래 페이지로 다시 링크하여 사이트 콘텐츠를 긁어 내면 유용합니다 (출처 : http://www.navegabem.com/linking-strategy.html).

3

도메인을 가하고와 동일합니다 모든 경로

eg <a href="/test.html">test</a> 

이 뿌리를 할 수 있습니다.

[편집] 당신이 다른 폴더에 필요한 경우 사이트를 이동 한 다음에 모드 재 작성을 사용할 수 있습니다 - 당신이 상대 경로를 사용해야합니다 생각 http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritebase

조쉬

+1

-1 : 다음과 같이 웹 사이트를 이동하지 못하게 할 수 있습니다. example.com/blog의 하위 폴더에서 블로그를 웹 사이트 (example.com)의 루트에 항상 설치해야하는 것을 상상해보십시오. . 좌절! – jrharshath

+0

@harshath : IIS에서 블로그 폴더는 응용 프로그램입니다. 아파치에서 병렬이 있는지 확실하지 않습니다. – CJM

+0

여전히 전체 도메인을 넣는 것보다 낫습니다. 그리고 mod_rewrite를 사용하여 루트 폴더를 변경할 수 있습니다. – Josh

1

를 참조하십시오. 도메인이 사라지거나 바뀌면 사이트가 계속 제대로 작동 할 것이고 그 이상으로 html의 경로가 훨씬 짧아집니다.

그리고 파일 구조를 변경하는 경우를 수용하려는 경우. 웹 사이트를 개발하는 데 html을 사용한다고 가정합니다. 나는 당신이, 같은 일반적인 항목을 분리 포함 SHTML/서버 측의 사용을 만들 수있는 것 같아요 : 메뉴 구조에 변화가있을 때, 당신은 단순히 menu.shtml을 수정해야한다는

이러한

희망 도움이

0

조쉬는 만족 스럽지만 웹 사이트가 가상 디렉터리 아래에 있으면 실패합니다. 항상 상대 경로를 사용하는 것이 좋습니다.

3

확실히 상대 경로를 사용하십시오.

이 당신에게 더 적은 기능을 제공하며, 도메인 이름 변경하는 경우이 문제가 중지되며, 오히려 라이브보다, 다른 서버에 테스트 당신을 수 있습니다 ....

+0

이렇게하면 사이트가 여러 URL (예 : www.mydomain.com 및 www.mydomain.co.uk)에서 액세스 할 수 있습니다. – Justin

+1

@ kragen2uk 도메인을 사용하지 않고 응원해도 허용됩니다. 상대 경로의 문제는 여러 폴더에서 사용되는 템플릿을 사용할 때입니다. 이미지/링크를 참조하여 어느 경로에서나 올바른지 확인하는 방법은 무엇입니까? – Josh

+0

@Josh - 라우팅이 많은 다른 문제를 해결하는 반면, 결코 폴더에서 사이트를 실행할 수 없다는 것을 의미합니다. 항상 루트와 관련이 있어야합니다. – cjk

0

상대 경로는 사이트에있는 리소스 (페이지, CSS 파일, JS 파일)를 참조하십시오.

이유 :이 도메인은

  • 당신은 아주 쉽게 페이지를 재구성 수 있습니다 두통의 humoungous 양을 들이지 않고 언제든지 이름을 변경할 수 있습니다

    1. .

    그러나 웹 사이트가 실제로 크기가 크다면 링크를 잘못 배치하지 않도록 리소스와 링크를 데이터베이스로 유지해야합니다. 이것은 microsoft.com에서 microsoft가하는 것입니다.

    JRH

  • 0

    나는 응용 프로그램 루트에 상대적인 경로를 지정 .... 조쉬와 함께 해요 : 내 경우

    /myfolder/myfile.html이 내 개발 작업의 추가적인 장점이있다 여기서 각 사이트는 기본 사이트에서 벗어난 응용 프로그램 (IIS)이며 실제 사이트에서 작업합니다.

    관련 문제