2009-07-06 5 views
0

대소 문자를 구분하지 않고 Windows 서버에 항상 배포 된 사이트가 있습니다. 그러나 이제 우리는 Linux에 배포해야하며 사이트에는 잘못된 URL과 참조가 많이 있음을 알고 있습니다.HTML 대소 문자 구분 문제

사이트를 스캔하여 케이스 문제를 해결할 수있는 응용 프로그램이 있습니까? 이렇게하면 HTML 파일, CSS 파일 및 가능하면 Javascript 파일을 수정해야합니다.

사이트의 각 파일에 대해 다른 모든 파일을 검색하여 참조했는지 확인할 수있는 응용 프로그램을 작성하려고 생각했지만 오류가 발생했을 가능성을 수정했지만 이미 완료되었을 수 있습니다. 기성품 솔루션을 다운로드하십시오.

감사 개빈

답변

1

어떤 개발 환경을 사용하고 있습니까?

예를 들어 dreamweaver에서 사이트 전체의 링크를 확인하고 수정할 수 있습니다.

편집 :가 귀하의 질문에 대답하려면 프로젝트로 웹 사이트에 넣어 드림위버의 평가판을 다운로드하고 링크를 확인하고 해결하기 위해 링크 검사기를 사용할 수 있습니다.

의견에서 말했듯이 문제를 확실히 해결하고 "무시 케이스"솔루션을 사용하여 해결하려고하지는 않습니다. 그렇게하면 웹 사이트가 이식 가능하므로 앞으로 문제가 발생하지 않게됩니다. 좋은 파일 이름 규칙은 항상 좋은 아이디어입니다 (대문자, 공백, 이국적인 문자 없음 등).

+0

우리는 웹 개발자 익스프레스를 사용하고 있습니다 – Gavin

+0

그 중 하나를 모르겠으므로 그 옵션이 있는지 알려 드릴 수 없습니다. – jeroen

+2

어느 방법이든 사이트를 찾는 대신 사이트를 수정하는 것이 좋습니다. 무시 옵션. – jeroen

1

오류에 대한 여유와 일정에 따라, 당신은 당신이 사이트를 방문으로 404 오류에 대한 강박 관념으로 웹 서버 로그를 모니터링하는 방법으로이 문제를 해결할 수 있습니다. 이는 코드베이스에 대한 최소한의 변경을 포함합니다.

또는 모든 파일이 모두 소문자이어야하고 코드베이스에서 URL의 대문자를 찾는 검사기를 실행할 수도 있습니다.

어느 쪽이든, 모든 문제를 해결하려면 수동 작업을해야합니다.

0

가장 좋은 방법은 다른 방법으로,

RewriteEngine on 
RewriteRule ^[A-Z]+.*\.html$ lowercase.php [L] 

및 lowercase.php 내

(변경 당신의 기술에 따라) 당신의 .htaccess에 다음 다시 쓰기 규칙을 추가 할 수 있습니다, URL을 수정하는 것입니다

<?php 
// convert uri to lowercase 
$uri = $_SERVER['REQUEST_URI']; 
$uri_lc = strtolower($uri); 
// redirect (permanent) 
header("Location: http://".$_SERVER['HTTP_HOST'].$uri_lc,TRUE,301); 
?> 

모든 파일 이름이 소문자인지 확인하십시오.

1

다음은 매우 빠르고 간단한 방법입니다. 대상 환경에 사이트를로드 한 다음 루트에서 Xenu's Link Sleuth (무료 다운로드)을 가리키고 야생으로 실행하십시오. 그러면 생성 된 모든 404가보고되어 각각을 실행하고 해결할 수 있습니다. 쉬운.

0

나는 ActiveState Komodo Edit의 정규식 모드에서 찾기 및 바꾸기 기능을 사용하여 비슷한 작업을 수행했습니다.

0

한 가지 방법은 다음, 아마도 테스트 설정/URL 아래에있는 리눅스 서버에있는 모든 파일을 저장할 루트 URL에 대한 LinkChecker (또는 다른 적절한 URL을)를 실행하는 것입니다

http://linkchecker.sourceforge.net/

및 깨진 링크가 있는지보고하십시오.

관련 문제