2011-09-26 3 views
1

사용자에게 내 사이트를 떠난다는 정보를 제공하는 이탈 페이지가 있습니다. 추천 페이지에서 의도 한 URL을 캡처하고 이탈 페이지에서 사이트를 떠날 때 그들이 목적지로 계속 가고 싶어한다는 사실을 확인한 후 사용자에게 보내려면 어떻게해야합니까? 현재 설정은 절대 링크로 작동하지만 상대 경로로는 작동하지 않습니다.href 태그의 url 캡처

이 작동합니다

href="http://acme.com/company/brand/leaving/?url=http://www.about.info/choices/ 

이하지 않습니다 :

href="../COMPANY/BRAND/leaving/?url=http://www.about.info/choices/" 

버튼은 다음과 같은 기능을 트리거 계속 :

function gbye(){ 
    var url = window.location.toString(); 
    var url_arr= url.split("?url="); 

if(url_arr.length>1) 
{ 

    try 
    { 
     window.location = url_arr[1]; 

    } 
    catch (e) 
    { 
    } 
} 

    return false; 
} 

사람이 설명 할 수 왜 상대와 HREF 경로가 작동하지 않습니다 (디렉토리 목록을 반환) 그리고 상대 경로가 어떻게 작동 할 수 있습니까?

+0

상대 URL에는 대문자를 사용하고 절대 URL에는 일반 문자를 사용합니다. – Gerben

+0

오자, 오타가 있습니다. 나는 프라이버시를 위해서 실제 디렉토리 이름을 가렸다. – kjarsenal

답변

2

대부분의 서버는 Linux 환경에서 실행됩니다. Linux 환경에서는 파일 시스템이 대소 문자를 구분합니다. 즉, 대소 문자가 다른 파일 이름이 다르게 처리됩니다.

첫 번째 링크가 제대로 작동하면 ../company/brand/leaving/?url=...을 사용하십시오. /을 사용할 때 파일을 다른 디렉토리로 이동할 때 파일을 편집 할 필요가 없기 때문에 ../ 대신 / (절대 루트)을 사용하는 것이 좋습니다.

+0

URL 재 작성을위한 가짜 인수 - 사이트가 이동하면 절대 URL을 간단히 변경해야하며, 상대 URL은 병렬 디렉토리가 이동/이름 변경 만 변경됩니다. –

+0

@MarcB'http : // host.name/sub/dir/file.htm'을'../ dir/resource'에 링크하는 파일로 생각하십시오. 파일은'http : // host.name/new.htm'로 이동합니다. 이제 포인터가'../../ dir/resource'이라고 가정합니다. 첫 번째 위치에서 링크는'http : // host.name/dir/resource'을 참조합니다. 새 위치에서 파일은'http : // host.name/dir/resource'을 가리 킵니다. 이 두 URL은 완전히 다릅니다. '../ '대신에'/'가 사용되면,이 문제는 결코 발생하지 않을 것입니다. –

+0

그리고/sub를/newsub로 변경하면 모든 링크가 어쨌든 다시 작성되어야합니다. relative에서 abslute로 링크를 변경해도 마술처럼 문제가 해결되지 않습니다. 어느 쪽이든, 파일을 업데이 트해야합니다. 만병 통치약을 switchinh에게 제안하는 것은 철저히 거짓입니다. –

관련 문제