2012-06-18 2 views
1

나는 최근에 나의 고객을위한 디렉토리를 만들었습니다. 웹 사이트는 완성되었지만 복제 된 웹 사이트 버전을 원하므로 웹 사이트를 테스트하고 사용법을 배울 수 있습니다.웹 사이트를 복제하는 가장 좋은 방법

자신의 웹 사이트를 완전히 복제하려면 웹 사이트의 모든 하이퍼 링크와 URL을 변경해야하므로 몇 시간이 걸립니다.

제 고객이 좀 지나치게 빨라서 빨리 끝내기를 원하면 테스트 웹 사이트를 만들고 각 URL을 대신 할 작은 자바 스크립트를 추가 할 수 있는지 궁금합니다 (전체 테스트 솔루션을 만들 때까지?). 예를 들어

그것은 있다면 :

<a href="www.mydomain.com/test/contact-us"></a> 

이 추적 할 수없는 가망인가 :

<a href="www.mydomain.com/contact-us">Test</a> 

는 그것을 대체 할 것이다? 전체 테스트 솔루션을 만들기 전까지는 당분간 권장 할 만합니까?

+16

"_I 웹 사이트의 모든 하이퍼 링크와 URL을 변경해야합니다"- 이유가 무엇입니까? 상대 URL을 사용하지 않았습니까? – Widor

+0

개발 전략은 어떻게 생겼습니까? 코드를 테스트 한 개발 서버가 있습니까? 어쩌면 당신은 당신의 고객이 그걸 가지고 놀 수있게 할 수 있습니다. –

+0

자신을 구석에 그리는 것에 대해 이야기하십시오. : P – deceze

답변

1

메모장 + + 또는 파일 교체를 지원하는 편집기에서 사이트 파일을 열고 (N ++이 자동으로이 작업을 수행합니다) 실제 URL을 구성 변수로 바꾸고 URL 변수를 다음과 같이 설정하십시오. 테스트 사이트에 대해 원하는

이제 URL에 대한 구성 변수가 생겼으므로 클라이언트가 도메인을 변경하려고하거나 다른 위치에 배포하려는 경우 쉽습니다.

3

실제로 상대 경로를 사용해야 파일이 어디에 살고 있는지에 관계없이 파일이 서로 관련되어 상호 작용합니다. 자바 스크립트와 하이퍼 링크를 분류하는 것이 확실히 가능하다

$("a").each(function() { 
    var href = this.href; 
    href = href.replace("mydomain.com/", "mydomain.com/test/"); 
    this.href = href; 
}); 
1

을 :

당신이 당신의 연결 상대가 아닌 절대 만들 때 여기 당신은 시간이기 위해 사용할 수있는 가능한 빠른 JS 솔루션입니다 말했다 특히 jQuery와 같은 프레임 워크를 사용하면 정말 쉽습니다.

$('a').each(Function(e){ 
e.attr('href', e.attr('href').replace(/http:\/\/mainsite.com/gi, 'http://newsite.com')); 
}); 

희망 등등 당신의 CSS 파일, 링크하는 HREF 및 URL이 그렇지 않으면 당신은 너무 사람들을 변경해야 상대가 될 것입니다. 이 시점에서 PHP 솔루션이 더 적절할 것입니다.

+1

'a'는'$ ('a')와 같이 인용해야합니다. 각' – MrCode

+0

좋은 캐치, 업데이트 됨 –

0

wget 명령 줄 유틸리티에는 --convert-links 옵션이 있습니다. 해당 옵션을 사용하여 웹 사이트를 다운로드하면 wget은 "로컬 검색이 안정적으로 작동합니다"와 같은 방식으로 링크를 변환합니다.

관련 문제