웹사이트 마이그레이션, URL 구조 변경, 또는 오래된 콘텐츠 정리 작업을 진행할 때 기존 URL을 새 주소로 올바르게 연결하는 것은 웹사이트 관리자와 개발자에게 필수적인 작업입니다 [Source 2]. 리디렉션 규칙 생성기는 사용자가 준비한 CSV 매핑 파일을 바탕으로 Nginx, Apache, Vercel 환경에 즉시 적용할 수 있는 정확한 리디렉션 코드를 생성합니다.
이 도구는 최대 5MB 크기의 CSV 파일과 최대 2,000개의 매핑 입력을 지원합니다. 사용자는 영구 리디렉션(301) 또는 임시 리디렉션(302) 중 하나를 선택하고, 대상 웹 서버 환경을 지정하여 필요한 규칙을 얻을 수 있습니다.
리디렉션 상태 코드의 선택과 SEO 영향
웹사이트의 주소가 변경될 때는 검색엔진 최적화(SEO)와 사용자 경험을 보존하기 위해 적절한 HTTP 상태 코드를 사용해야 합니다 [Source 2].
- 301 영구 이동 (Permanent): 원본 URL이 새 대상 URL로 영구적으로 이동했음을 의미합니다. 검색엔진은 기존 URL이 보유한 페이지 권위와 링크 자산을 새 URL로 이전하므로, 도메인을 변경하거나 영구적인 구조 개편을 진행할 때 적합합니다 [Source 2].
- 302 임시 이동 (Temporary): 원본 URL이 일시적으로만 변경되었음을 나타냅니다. 검색엔진은 기존 URL의 인덱싱을 그대로 유지하므로, 임시 프로모션 페이지나 점검 중 대체 페이지로 연결할 때 사용됩니다 [Source 2].
CSV 파일 구성 및 입력 형식 규칙
리디렉션 규칙을 올바르게 생성하려면 입력하는 CSV 파일이 정해진 규격을 충족해야 합니다. CSV 파일은 다음과 같은 구조적 요구사항을 따릅니다.
- 헤더 구성: 파일의 첫 번째 행에는 반드시
source열과target(또는destination) 열이 포함되어야 합니다. 이 헤더가 누락되거나 올바르지 않으면헤더 행에 source 및 target(또는 destination) 열이 필요합니다.에러가 발생합니다. - 원본 URL (Source): 완전한 HTTP/HTTPS URL 형식이거나
/로 시작하는 경로여야 합니다. 원본 호스트 이름은 처리 과정에서 자동으로 제거되며, 쿼리 스트링, 프래그먼트(#), 와일드카드(*) 또는 경로 패턴 문자가 포함되어 있으면 규칙 생성에서 제외되고 에러가 반환됩니다. - 대상 URL (Destination): 완전한 HTTP/HTTPS URL 또는 루트 기준의 상대 경로를 사용할 수 있습니다.
- 제한 사항: 각 URL의 길이는 2,048자 이하여야 하며, 동일한 원본 경로가 중복되어 나타날 수 없습니다. 또한, 전체 매핑 수는 최대 2,000개로 제한됩니다.
웹 서버 환경별 리디렉션 구문 특성
선택한 환경에 따라 생성되는 규칙의 문법과 동작 방식이 달라집니다. 이 도구는 각 환경의 특성에 맞춰 정확한 일치(Exact Match) 규칙을 작성합니다.
Nginx 규칙 구조
Nginx 환경에서는 원본 경로가 정확히 일치할 때만 리디렉션이 실행되도록 앵커 처리된 구문을 생성합니다. 원본 호스트 이름을 제외한 순수 경로 매칭을 기반으로 동작합니다.
Apache 규칙 구조
Apache 환경의 .htaccess 파일 등에서 사용할 수 있는 규칙을 생성합니다. Nginx와 마찬가지로 정확한 원본 경로에 고정(Anchored)된 매칭 방식을 사용하여 의도하지 않은 하위 경로까지 리디렉션되는 현상을 방지합니다.
Vercel 규칙 구조
Vercel 설정 파일(vercel.json)에 적용할 수 있는 JSON 형식의 규칙을 생성합니다. Vercel의 기본 permanent 스위치는 308 리디렉션을, temporary 스위치는 307 리디렉션을 생성하는 특성이 있습니다. 이 도구는 사용자가 선택한 301 또는 302 상태 코드가 정확히 유지되도록 statusCode 속성을 명시적으로 지정하여 규칙을 구성합니다.
브라우저 기반 데이터 처리 및 보안
이 도구를 사용할 때 개인정보와 데이터 보안에 대해 우려할 필요가 없습니다. 업로드한 CSV 파일의 파싱, 데이터 검증, 그리고 최종 리디렉션 규칙 생성에 이르는 모든 처리 과정은 외부 서버로 전송되지 않고 사용자의 웹 브라우저 내에서만 실행됩니다. BroBroGo 서버로 사용자의 데이터가 업로드되거나 저장되지 않으므로 안심하고 작업을 수행할 수 있습니다.
자주 묻는 질문 (FAQ)
Q. CSV 파일 형식을 어떻게 구성해야 하나요?
A. source(원본) 및 target(대상, destination도 가능) 열이 포함된 헤더 행을 사용해 주세요. 그 다음 행부터는 완전한 HTTP/HTTPS 원본 URL 또는 /로 시작하는 경로와 함께, 완전한 또는 루트 기준의 대상 주소를 입력할 수 있습니다.
Q. 생성된 리디렉션은 정확히 일치(exact match)하나요?
A. 네. Nginx 및 Apache 출력은 정확한 원본 경로에 고정되며, Vercel도 동일한 리터럴 경로를 수신합니다. 원본 호스트 이름은 제거되며, 원본 쿼리 스트링, 프래그먼트, 와일드카드 스타일 패턴은 세 환경의 처리 방식이 다르기 때문에 제외됩니다.
Q. Vercel 출력에서 statusCode를 사용하는 이유는 무엇인가요?
A. Vercel의 영구 리디렉션은 308을 생성하고 임시 리디렉션은 307을 생성합니다. 여기서는 statusCode를 사용하여 선택한 301 또는 302가 정확히 유지되도록 합니다. 표준 Vercel 배포는 총 2,048개의 경로를 허용하므로, 이 도구는 최대 2,000개의 매핑을 허용합니다.
Q. CSV 파일 업로드 시 오류가 발생하면 어떻게 해야 하나요?
A. 파일 확장자가 .csv인지 확인하고, 파일 크기가 5MB 이하인지 점검하십시오. 또한 특정 행에서 따옴표나 쉼표가 올바르게 닫혀 있는지, 빈 열이 존재하지 않는지, 혹은 중복된 원본 경로가 입력되었는지 확인해야 합니다. 오류 메시지에 표시되는 행 번호를 참고하여 데이터를 수정해 주시기 바랍니다.