본문으로 건너뛰기

규칙 설정

이 페이지는 RedirectWeb 앱의 규칙 편집 화면에 있는 각 설정에 대한 자세한 정보를 제공합니다.

옵션

유형

앱이 리디렉션을 처리하는 방식을 제어하려면 유형 옵션을 지정하세요. 다음 중에서 선택할 수 있습니다.

  • Original (기본값)
    • 전통적인 웹 API를 사용하여 리디렉션을 제어합니다. 또한 대체 수단으로 Tabs API를 사용합니다.
      • Firefox에서는 WebRequest API를 사용하여 리디렉션을 처리합니다.
    • 리소스 유형요청 메서드 이외의 모든 옵션을 사용할 수 있습니다.
    • ⚠️ Declarative 유형보다 느리며 추가 네트워크 요청이 발생할 수 있습니다.
  • DNR (Safari용 실험적 기능):
    • 소스 URL에 대한 네트워크 요청을 시작하지 않기 때문에 Original 유형보다 훨씬 빠르게 작동합니다.
    • 리소스 유형요청 메서드를 지정할 수 있습니다.
    • ⚠️ 캡처 그룹 처리제외된 URL 패턴과 같은 일부 옵션은 아직 DNR API에서 지원되지 않으므로 사용할 수 없습니다.
    • ⚠️ Safari에서는 현재 정규 표현식 패턴에 파이프(|)를 포함할 수 없습니다. 상세 내용
    • ⚠️ Safari의 DNR API에는 여전히 몇 가지 이슈가 있으므로 Safari용으로는 여전히 실험적인 기능으로 간주합니다. 알려진 모든 이슈 목록은 여기에서 확인할 수 있습니다.

리디렉션 시작점

리디렉션 시작점 옵션을 사용하면 리디렉션하려는 웹 페이지의 URL 패턴을 지정할 수 있습니다. 와일드카드 또는 정규 표현식 중 하나를 선택할 수 있습니다.

예를 들어, 와일드카드로 https://example.com/*를 지정하면 https://example.com/ 또는 https://example.com/hello와 일치합니다.

노트

리디렉션 도착점 옵션에서 $0을 사용하여 전체 일치 항목을 참조하거나 $1, $2, ...를 사용하여 부분 일치 항목을 참조할 수 있습니다. 이 페이지의 URL 패턴에서 자세한 내용을 확인하세요.

리소스 유형

지원 유형: DNR

리소스 유형 옵션을 사용하면 규칙이 적용되는 웹 요청의 카테고리(이미지, 자바스크립트, 스타일시트 등)를 지정할 수 있습니다. 예를 들어 script로 설정하면 웹 페이지에서 로드되는 자바스크립트 파일을 리디렉션할 수 있습니다.

현재 다음 유형을 사용할 수 있습니다. main_frame, sub_frame, stylesheet, script, image, font, xmlhttprequest, ping, media, websocket, other

기본 설정은 탭에 로드된 최상위 페이지인 main_frame입니다.

각 리소스 유형에 대한 자세한 내용은 mdn web docs를 확인하세요.

요청 메서드

지원 유형: DNR

요청 메서드 옵션을 사용하면 소스 URL의 대상 HTTP 메서드를 설정할 수 있습니다.

기본적으로 모든 메서드가 설정되어 있습니다.

각 메서드에 대한 자세한 내용은 mdn web docs를 확인하세요.

경고

Safari에서는 Apple의 DNR 유형 구현이 현재 이를 처리하지 않는 것으로 보이므로 이 옵션을 사용하지 못할 수 있습니다. Apple에 FB14502272로 피드백을 보냈습니다.

대상 브라우저

지원 플랫폼: macOS

대상 브라우저 옵션을 사용하면 규칙을 적용할 브라우저와 적용하지 않을 브라우저를 지정할 수 있습니다.

  • 선택할 수 있는 브라우저 유형은 두 가지입니다.
    • 기본 선택 가능 브라우저: Safari, Chrome, Firefox, Edge, Opera, Arc, Brave, Vivaldi를 기본으로 선택할 수 있습니다. Safari와 Safari Technology Preview처럼 동일한 브라우저의 변형은 구분하지 않습니다.
    • 사용자 지정 브라우저: 팝오버의 추가 버튼을 누르면 RedirectWeb 확장 프로그램이 설치된 Safari 또는 Safari Technology Preview 이외의 다른 브라우저를 선택할 수 있습니다.
  • 선택한 항목 제외 모두 체크박스를 사용하면 선택한 브라우저를 제외한 모든 브라우저를 대상으로 지정할 수 있습니다.
경고

RedirectWeb은 브라우저가 Safari인지 Safari Technology Preview인지 구분할 수 없습니다. 앱이 이를 감지하기 위해 확장 프로그램의 부모 프로세스를 확인하지만, 이 두 브라우저는 동일한 부모 프로세스(/sbin/launchd)를 공유하기 때문입니다.

리디렉션 도착점

리디렉션 도착점 옵션은 리디렉션 시작점 옵션과 일치하는 소스 URL에서 리디렉션할 목적지 URL을 지정합니다. $1, $2, ...를 사용하여 캡처 그룹을 치환하거나 $0을 사용하여 전체 일치 항목을 치환할 수도 있습니다. 이를 통해 목적지를 동적으로 지정할 수 있습니다. 이 페이지의 URL 패턴에서 자세한 내용을 확인하세요.

예를 들어 다음과 같은 규칙을 설정하면:

  • 리디렉션 시작점: https://google.com/* (와일드카드)
  • 리디렉션 도착점: https://apple.com/$1

https://google.com/hello와 일치할 경우 목적지 URL은 https://apple.com/hello가 됩니다.

또한 치환하기 전에 $1, $2, ...의 텍스트를 수정할 수 있습니다. 자세한 내용은 캡처 그룹 처리 섹션을 확인하세요.

앱을 열기 위해 사용자 정의 URL 스킴을 지정할 수 있습니다. 다음은 딥 링크를 지원하는 앱의 예입니다.

  • Figma: figma://file/Your_Figma_ID
  • Firefox: firefox://open-url?url=https://example.com/hello
  • Google Chrome: googlechromes://example.com
  • Microsoft Edge: microsoft-edge://example.com
  • Notion: notion://www.notion.so/Your_Note_ID
  • Slack: slack://open

애플리케이션

지원 유형: Original 지원 플랫폼: macOS

목적지 URL을 열 앱을 지정하려면 애플리케이션 콤보 박스를 사용하세요. 이 기능은 macOS에서만 사용할 수 있습니다.

경고

App Sandbox를 지원하는 앱만 열 수 있습니다. 또한 해당 앱이 열고자 하는 URL을 지원하는지 확인하세요.

캡처 그룹 처리

지원 유형: Original

캡처 그룹 처리 옵션을 사용하면 리디렉션 도착점 옵션에서 $1, $2...로 치환할 수 있는 캡처된 그룹을 처리하는 방식을 지정할 수 있습니다.

캡처 그룹을 만드는 방법은 다음과 같습니다.

  • 와일드카드: *?와 일치하는 텍스트가 자동으로 캡처됩니다.
  • 정규 표현식: () 안의 패턴 일부와 일치하는 텍스트가 캡처됩니다.

다음 프로세스 중 하나 이상을 선택할 수 있습니다.

  • URL 인코딩/디코딩: 캡처 그룹에 퍼센트 인코딩 또는 디코딩을 적용합니다. 예를 들어 https://example.com/hello를 인코딩하면 https%3A%2F%2Fexample.com%2Fhello로 변환됩니다. 디코딩은 반대로 작동합니다.
  • Base64 인코딩/디코딩: 텍스트를 Base64로 디코딩하거나 인코딩합니다. 예를 들어 helloaGVsbG8=로 인코딩하고 다시 hello로 디코딩할 수 있습니다.
  • 항목 교체: 그룹 내에서 대상과 일치하는 하나 이상의 문자를 교체 텍스트로 바꿉니다. 예를 들어 그룹hello이고 대상l이며 교체 텍스트가 y인 경우 heyyo로 수정됩니다.
노트

이것은 각 캡처 그룹을 처리하기 위한 것이며 제외된 URL 패턴에 의해 제외되는 URL에는 영향을 주지 않습니다. 예를 들어 다음과 같은 규칙이 있다고 가정해 보겠습니다.

  • 리디렉션 시작점: https://example.com/(hello.*)
  • 캡처 그룹 처리:
    • 그룹: $1
    • 대상: .* (정규 표현식)
    • 교체 텍스트: hello
  • 제외된 URL 패턴: https://example.com/hello

이 경우 https://example.com/hello_world는 제외되지 않지만 https://example.com/hello는 제외됩니다.

제외된 URL 패턴

지원 유형: Original

제외된 URL 패턴 옵션을 사용하면 리디렉션되지 않는 URL을 지정할 수 있습니다. 이는 리디렉션 루프를 방지하거나 웹사이트의 특정 부분을 리디렉션에서 제외하는 데 유용할 수 있습니다.

정규 표현식 또는 와일드카드 패턴 유형을 사용하여 제외된 URL 패턴을 지정할 수 있습니다.

예제

예제 옵션을 사용하면 샘플 URL을 제공하여 리디렉션 규칙을 테스트할 수 있습니다. 샘플 URL을 추가하면 규칙을 실제로 적용하기 전에 예상대로 작동하는지 확인할 수 있습니다.

고급 설정

  • [DNR] 메인 프레임 리디렉션: 이 옵션은 DNR 유형에서만 사용할 수 있습니다. main_frame 리소스 유형에 대한 리디렉션 처리 방식을 지정할 수 있습니다. 사용 가능한 옵션은 다음과 같습니다.
    • Raw: 메인 프레임을 수정 없이 지정된 URL로 리디렉션합니다.
    • 중간 페이지 경유: 메인 프레임을 중간 페이지로 리디렉션한 다음 지정된 목적지 URL로 리디렉션합니다. 중간 페이지에서 더 복잡한 리디렉션 로직을 처리할 수 있으므로 딥 링크를 사용하여 앱을 여는 데 유용합니다.

주석

주석 옵션을 사용하면 리디렉션 규칙에 대한 메모나 설명을 추가할 수 있습니다. 이는 특정 규칙을 만든 이유를 기록하거나 규칙을 보는 다른 사람에게 문맥을 제공하는 데 유용할 수 있습니다.

주석은 다음 형식으로 작성할 수 있습니다.

  • 일반 텍스트 (기본값): 서식 없는 단순 텍스트입니다.
  • Markdown: GFM이 지원하지 않는 일부 확장 기능을 포함하여 GitHub의 Markdown 구문을 사용할 수 있습니다. 예를 들어 제목, 목록, 링크 등을 만들 수 있습니다.
  • AsciiDoc: AsciiDoc 구문을 사용하여 주석의 서식을 지정할 수 있습니다.

URL 패턴

URL 패턴리디렉션 시작점, 제외된 URL 패턴캡처 그룹 처리 옵션에서 URL을 일치시키는 데 사용됩니다. 이를 지정하기 위해 와일드카드 또는 정규 표현식 중 하나를 선택할 수 있습니다.

와일드카드

와일드카드*(모든 것과 일치) 및 ?(단일 문자와 일치)를 와일드카드로 사용할 수 있는 더 간단한 패턴 유형입니다. 다음은 몇 가지 예입니다.

  • https://example.com/hello와 일치시키려면 https://example.com/*를 사용할 수 있습니다. 이는 https://example.com/ 뒤의 모든 문자열과 일치합니다.
  • https://example.com/search?q=hello와 일치시키려면 https://example.com/search?q=*를 사용할 수 있습니다. 이는 q 매개변수의 모든 값과 일치합니다.
  • blog라는 단어가 포함된 모든 URL과 일치시키려면 *blog*를 사용할 수 있습니다.

와일드카드에서도 치환을 사용할 수 있습니다. 즉, $1, $2 등을 사용하여 일치하는 URL의 일부를 참조할 수 있습니다. 예를 들어 https://example.com/*-world-*를 사용하고 URL이 https://example.com/hello-world-goodbye인 경우 $1은 "hello"가 되고 $2는 "goodbye"가 됩니다. 일치하는 전체 URL을 참조하기 위해 $0을 사용할 수도 있습니다.

노트

치환은 정규 표현식의 기능이지만 RedirectWeb은 내부적으로 와일드카드를 정규 표현식으로 변환하기 때문에 와일드카드에서도 사용할 수 있습니다.

정규 표현식

정규 표현식(Regex)은 텍스트의 패턴을 일치시키는 강력한 도구이며 프로그래밍에서도 널리 사용됩니다. 문자열 집합과 일치하는 특정 패턴을 정의할 수 있습니다. 다음은 몇 가지 예입니다.

  • https://example.com/hello와 일치시키려면 https://example.com/.*를 사용할 수 있습니다. 이는 https://example.com/ 뒤의 모든 문자열과 일치합니다.
  • https://example.com/search?q=hello와 일치시키려면 https://example.com/search\?q=(.*)를 사용할 수 있습니다. 이는 q 매개변수의 값을 일치시키고 캡처 그룹에 저장합니다. 그런 다음 리디렉션 도착점 옵션에서 $1을 사용하여 참조할 수 있습니다.
  • blog라는 단어가 포함된 모든 URL과 일치시키려면 .*blog.*를 사용할 수 있습니다.

리디렉션 도착점 또는 교체 텍스트에서 $1, $2, ...를 사용하여 캡처 그룹을 참조하거나 $0을 사용하여 전체 일치 항목을 참조할 수 있습니다.

RedirectWeb은 Apple의 정규 표현식 엔진을 기반으로 합니다.

정규 표현식 구문에 대한 자세한 내용은 RegExr와 같은 리소스에서 확인할 수 있습니다.