티스토리에서 워드프레스로 이전하기: 이미지 경로를 절대 경로로 변경하기

워드프레스 정보를 제공하는 블로그 Avada 2023. 6. 14. 13:32 • 댓글:

이전 글에서 티스토리에서 워드프레스로 이사하는 방법에 대하여 설명한 적이 있습니다.

 

티스토리에서 워드프레스로 이사하기 (티스토리 백업 이용)

티스토리는 카카오 데이터센터 화재 이후 데이터 백업 기능이 추가되었습니다. 최근 티스토리에서 6월부터 티스토리 자체 광고 신설에 대한 공고를 올렸습니다. [안내] 6월부터 티스토리 자체

avada.tistory.com

위의 글에서는 html 파일에서 이미지 경로를 백업 파일에서와 같이 상대 경로로 되어 있는 상태에서 자바스크립트 코드를 사용하여 경로를 재지정하는 방식으로 설명되어 있습니다. 조금 다른 방법으로, html에서 파일 경로를 미리 절대 경로로 변경하면 임포트 후에 자바스크립트를 사용할 필요가 없을 것입니다.

티스토리에서 워드프레스로 이전하기: 이미지 경로를 절대 경로로 변경하기

티스토리 백업 파일에 포함된 html 파일에는 이미지들이 [**<img src="./img/love.jpg" alt="" />**]와 같이 상대 경로로 되어 삽입되어 있습니다.

티스토리에서 워드프레스로 이전하기: 이미지 경로를 절대 경로로 변경하기

이 상태에서 임포트할 경우, 몇 달 전에는 이미지들이 미디어 라이브러리에 임포트되었지만, 최근 시도해 보니 대부분의 이미지들이 미디어 라이브러리에 임포트되지 않았습니다.

그래서 임포트 후에 이미지 경로를 재지정하는 방식으로 앞서 설명했지만, 미리 이미지 경로를 절대 경로로 지정하는 것도 고려할 수 있을 것 같습니다.

이와 같이 이미지 경로를 상대 경로에서 절대 경로로 일괄 변경하려는 경우 다음과 같은 PHP 스크립트를 사용하여 시도해볼 수 있습니다.

<?php
$dir = new DirectoryIterator('/public_html/tistory');  // Set initial directory to '/public_html/tistory'

// Loop through all sub-directories
foreach ($dir as $fileInfo) {
    if($fileInfo->isDot() || !$fileInfo->isDir()) continue; // skip if not a directory or is '.' or '..'

    $post_id = $fileInfo->getFilename(); // Get the directory name, i.e., post_id

    // Now iterate over each file in the directory
    foreach(new DirectoryIterator($fileInfo->getPathname()) as $file) {
        if($file->isDot() || $file->isDir()) continue;  // skip if not a file or is '.' or '..'

        // Check if file is HTML
        if(pathinfo($file->getFilename(), PATHINFO_EXTENSION) === 'html') {
            // Read HTML file
            $htmlContent = file_get_contents($file->getPathname());

            // Use regex to replace the image src
            $htmlContent = preg_replace_callback(
                '#<img\s(.*?)src="(./img/([^"]*?))"(.*?)>#', 
                function($matches) use ($post_id) {
                    $imgName = $matches[3]; // the part of regex that captures the image name
                    return '<img ' . $matches[1] . 'src="https://example.com/tistory/' . $post_id . '/img/' . $imgName . '"' . $matches[4] . '>';
                },
                $htmlContent
            );

            // Write the new HTML content back to the file
            file_put_contents($file->getPathname(), $htmlContent);
        }
    }
}
?>

상기 코드에서 경로와 사이트 URL을 적절히 수정하여 사용하시기 바랍니다.

실제로 위의 코드를 적용해보면 모든 HTML 파일에서 이미지 경로가 절대경로로 바뀌게 됩니다.

티스토리에서 워드프레스로 이전하기: 이미지 경로를 절대 경로로 변경하기

이 방법으로 미리 이미지 경로를 변경시키면 추후에 자바스크립트를 사용하여 이미지 경로를 재지정할 필요가 없게 될 것입니다.

티스토리 백업을 사용하여 워드프레스로 이전한 작업과 관련하여 어려움을 겪는 경우 여기에서 서비스(유료)를 의뢰하실 수 있습니다. 저렴한 비용에 서비스를 제공하고 있습니다.😊😊😊

추가:

  1. sftp에 접속하여 워드프레스가 설치된 폴더에 파일을 생성하고(예: tistory.php) 위의 코드를 입력합니다.
  2. 경로는 이 글을 참고해보세요.
  3. 상기 코드에서 경로를 적절히 수정하세요.
  4. 브라우저에서 example.com/tistory.php (실제 파일명으로 변경)를 입력하면 코드가 실행됩니다.
  5. 실행되어도 화면에는 아무 내용이 표시되지 않을 것입니다. 에러가 있으면 에러가 표시됩니다. 에러가 표시될 경우 경로를 확인합니다.
  6. 완료 후에는 파일을 삭제합니다.

참고

https://avada.tistory.com/2279

 

워드프레스 수익형 블로그 만들기

블로그로 돈을 벌고 싶어 하는 분들은 많지만 실제 유의미한 수익을 올리는 분들은 많지 않습니다. 블로그로 수익을 올릴 수 있는 방법은 다양합니다. 수익을 목적으로 한다면 수익형 블로그 운

avada.tistory.com

https://avada.tistory.com/2741

 

클라우드웨이즈 워드프레스 설치 및 도메인 설정 방법 (Cloudways)

아마존 AWS나 DigitalOcean, Vultr와 같은 서비스를 제대로 이용하려면 리눅스 서버에 대한 지식이 있어야 가능합니다. 서버에 대한 지식 없이 AWS 등을 사용하다 심한 스트레스를 받고 다른 호스팅으

avada.tistory.com

https://avada.tistory.com/2995

 

워드프레스 뉴스페이퍼 테마: 차일드 테마 설치 방법

워드프레스에서 테마 파일을 수정하거나 커스텀 PHP 코드를 추가해야 하는 경우 차일드 테마(자식 테마)를 만들어 작업해야 추후에 테마가 업데이트되어도 수정 사항이 사라지지 않습니다. 유료

avada.tistory.com