GitLab Pages 리다이렉트
Netlify 방식 규칙으로 GitLab Pages 사이트의 URL 리다이렉트와 재작성을 구성하는 방법을 설명합니다.
GitLab Pages에서는 Netlify 스타일 HTTP 리다이렉트를 사용하여 한 URL을 다른 URL로 전달하는 규칙을 구성할 수 있습니다. Netlify가 제공하는 특수 옵션 이 모두 지원되는 것은 아닙니다. 기능 지원 여부 예시 리다이렉트 ( 301 , 302 ) ✅ /wardrobe.html /narnia.html 302 리라이트 ( 200 ) ✅ /* / 200 스플랫 ✅ /news/* /blog/:splat 플레이스홀더 ✅ /news/:year/:month/:date /blog-:year-:month-:date.html 리라이트 ( 200 제외) ❌ /en/* /en/404.html 404 쿼리 매개변수 ❌ /store id=:id /blog/:id 301 Force ( 섀도잉 ) ❌ /app/ /app/index.html 200! 도메인 수준 리다이렉트 ✅ http://blog.example.com/* https://www.example.com/blog/:splat 301 국가 또는 언어별 리다이렉트 ❌ / /anz 302 Country=au,nz 권한별 리다이렉트 ❌ /admin/* 200! Role=admin Note 매칭 동작 테스트 케이스 는 GitLab이 규칙 매칭을 어떻게 구현하는지 자세히 이해하는 데 유용한 자료입니다. 이 테스트 스위트에 포함되지 않은 예외 사례에 대한 커뮤니티 기여를 환영합니다. 리다이렉트 만들기 # 리다이렉트를 만들려면 GitLab Pages 사이트의 public/ 디렉터리에 _redirects 라는 구성 파일을 만듭니다. 모든 경로는 슬래시 / 로 시작해야 합니다. 상태 코드 를 지정하지 않으면 기본 상태 코드 301 이 적용됩니다. _redirects 파일에는 인스턴스에 구성된 파일 크기 제한과 프로젝트당 최대 규칙 수가 있습니다. 구성된 최대 개수 안에서 처음 일치하는 규칙만 처리됩니다. 기본 파일 크기 제한은 64 KB이고, 기본 최대 규칙 수는 1,000개입니다. GitLab Pages 사이트가 기본 도메인 이름(예: namespace.gitlab.io/project-slug )을 사용하는 경우 모든 규칙 앞에 경로를 붙여야 합니다: /project-slug/wardrobe.html /project-slug/narnia.html 302 GitLab Pages 사이트가 사용자 지정 도메인 을 사용하는 경우 프로젝트 경로 접두사는 필요하지 않습니다. 예를 들어 사용자 지정 도메인이 example.com 이면 _redirects 파일은 다음과 같습니다: /wardrobe.html /narnia.html 302 파일이 리다이렉트보다 우선 # 파일은 리다이렉트보다 우선합니다. 디스크에 파일이 있으면 GitLab Pages는 리다이렉트 대신 해당 파일을 제공합니다. 예를 들어 hello.html 과 world.html 파일이 있고 _redirects 파일에 다음 줄이 포함되어 있으면, hello.html 이 존재하므로 리다이렉트는 무시됩니다: /project-slug/hello.html /p