Перейти к основному содержимому

Настройки правил

Эта страница содержит подробную информацию о каждой настройке на экране Редактировать правило в приложении Redirect Web.

Опции

Тип

Укажите опцию Тип, чтобы контролировать, как приложение обрабатывает перенаправление. Вы можете выбрать из следующих:

  • Оригинальный (по умолчанию)
    • Использует традиционные веб-API для управления перенаправлением. Дополнительно использует Tabs API в качестве запасного варианта.
      • В Firefox использует WebRequest API для обработки перенаправления.
    • Вы можете использовать все опции, кроме Типов ресурсов и Методов запроса.
    • Это медленнее, чем тип Декларативный, и может вызывать дополнительные сетевые запросы.
  • DNR (экспериментально для Safari):
    • Этот тип работает намного быстрее, чем Оригинальный тип, потому что он не инициирует сетевой запрос для исходного URL.
    • Позволяет указывать Типы ресурсов и Методы запроса.
    • ⚠️ Вы не можете использовать некоторые опции, такие как Обработка захватываемых групп и Исключенные шаблоны URL, поскольку они еще не поддерживаются DNR API.
    • ⚠️ В Safari в настоящее время вы не можете включать вертикальные черты (|) в свой шаблон регулярного выражения. Подробности
    • ⚠️ Поскольку DNR API Safari все еще имеет некоторые проблемы, мы считаем, что это все еще экспериментальная функция для Safari. Вы можете найти список всех известных проблем здесь.

Перенаправить с

Опция Перенаправить с позволяет указать шаблон URL веб-страниц, с которых вы хотите перенаправлять. Вы можете выбрать либо Wildcard, либо Регулярное выражение.

Например, если вы укажете https://example.com/* с Wildcard, он будет соответствовать https://example.com/ или https://example.com/hello.

примечание

В опции «Перенаправить на» вы можете ссылаться на все совпадение, используя $0, или на частичные совпадения, используя $1, $2, ... Подробности см. в разделе Шаблон URL на этой странице.

Типы ресурсов

Поддерживаемые типы: DNR

Опция Типы ресурсов позволяет указать категории веб-запросов, таких как изображения, JavaScript и таблицы стилей, к которым применяется правило. Например, если вы установите script, вы можете перенаправлять файлы JavaScript, загружаемые веб-страницами.

В настоящее время доступны следующие: main_frame, sub_frame, stylesheet, script, image, font, xmlhttprequest, ping, media, websocket, other

Настройка по умолчанию — main_frame, которая является страницей верхнего уровня, загруженной во вкладку.

Пожалуйста, проверьте подробности каждого типа ресурса в mdn web docs.

Методы запроса

Поддерживаемые типы: DNR

Опция Методы запроса позволяет установить целевые HTTP-методы исходного URL.

Все методы установлены по умолчанию.

Пожалуйста, проверьте подробности каждого метода в mdn web docs.

warning

В Safari эта опция может быть недоступна, потому что реализация Apple для типа DNR, похоже, в настоящее время не обрабатывает ее. Мы отправили отзыв в Apple как FB14502272.

Целевые браузеры

Поддерживаемые платформы: macOS

Опция Целевые браузеры позволяет указать, к какому браузеру правило должно или не должно применяться.

  • Есть 2 типа браузеров, которые вы можете выбрать:
    • Браузеры, которые вы можете выбрать по умолчанию: Вы можете выбрать Safari, Chrome, Firefox, Edge, Opera, Arc, Brave и Vivaldi по умолчанию. Это не различает варианты одного и того же браузера, такие как Safari и Safari Technology Preview.
    • Браузеры, указанные пользователем: Нажав кнопку «Добавить» во всплывающем окне, вы можете выбрать любой браузер, кроме Safari или Safari Technology Preview, в котором установлено расширение Redirect Web.
  • Флажок Все, кроме выбранных позволяет вам нацеливаться на все браузеры, кроме тех, которые вы выбрали.
warning

Redirect Web не может определить, является ли браузер Safari или Safari Technology Preview, потому что приложение проверяет родительский процесс расширения для его обнаружения, но эти два браузера используют один и тот же родительский процесс (/sbin/launchd).

Перенаправить на

Опция Перенаправить на указывает целевой URL, на который вы хотите перенаправить с исходного URL, соответствующего опции Перенаправить с. Вы также можете подставлять захватываемые группы с помощью $1, $2, ... или все совпадение с помощью $0. Это помогает динамически указывать назначение. Подробности см. в разделе Шаблон URL на этой странице.

Например, если вы установите следующее правило:

  • Перенаправить с: https://google.com/* (Wildcard)
  • Перенаправить на: 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

Приложение

Поддерживаемые типы: Оригинальный Поддерживаемые платформы: macOS

Если вы хотите указать приложение, которое вы хотите открыть целевой URL, используйте комбинированный список Приложение. Это доступно только на macOS.

warning

Вы можете открывать только приложения, поддерживающие App Sandbox. Также убедитесь, что приложение поддерживает открытие URL, который вы хотите открыть.

Обработка захватываемых групп

Поддерживаемые типы: Оригинальный

Опция Обработка захватываемых групп позволяет указать, как обрабатывать захватываемые группы, которые вы можете подставлять в опции Перенаправить на с помощью $1, $2...

Вот как создавать захватываемые группы:

  • Wildcard: Тексты, соответствующие * и ?, автоматически захватываются.
  • Регулярное выражение: Тексты, соответствующие части шаблона внутри (), захватываются.

Вы можете выбрать один или несколько из следующих процессов:

  • Кодирование/декодирование URL: Применяет процентное кодирование или декодирование к захватываемой группе. Например, если вы закодируете https://example.com/hello, оно будет преобразовано в https%3A%2F%2Fexample.com%2Fhello. Декодирование работает в обратном направлении.
  • Кодирование/декодирование Base64: Декодирует/кодирует текст в Base64. Например, вы можете закодировать hello в aGVsbG8= и декодировать его обратно в 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

Поддерживаемые типы: Оригинальный

Опция Исключенные шаблоны URL позволяет указать URL-адреса, которые не перенаправляются. Это может быть полезно для предотвращения циклов перенаправления или для исключения определенных частей веб-сайта из перенаправления.

Вы можете указать исключенные шаблоны URL, используя типы шаблонов регулярных выражений или Wildcard.

Примеры

Опция Примеры позволяет протестировать ваше правило перенаправления, предоставив примеры URL-адресов. Добавив пример URL-адреса, вы можете проверить, работает ли правило так, как ожидалось, прежде чем применять его.

Комментарии

Опция Комментарии позволяет добавлять любые заметки или комментарии о вашем правиле перенаправления. Это может быть полезно для отслеживания того, почему вы создали определенное правило, или для предоставления контекста другим, кто может просматривать ваши правила.

Вы можете писать комментарии в следующих форматах:

  • Обычный текст (по умолчанию): Простой текст без какого-либо форматирования.
  • Markdown: Вы можете использовать синтаксис Markdown GitHub, включая некоторые расширения, которые GFM не поддерживает. Например, вы можете создавать заголовки, списки, ссылки и многое другое.
  • AsciiDoc: Вы можете использовать синтаксис AsciiDoc для форматирования своих комментариев.

Шаблон URL

Шаблоны URL используются для сопоставления URL-адресов в опциях Перенаправить с, Исключенные шаблоны URL и Обработка захватываемых групп. Чтобы указать их, вы можете выбрать либо Wildcard, либо Регулярное выражение.

Wildcard

Wildcard — это более простой тип шаблона, который позволяет использовать * (соответствует всему) и ? (соответствует любому одному символу) в качестве подстановочных знаков. Вот несколько примеров:

  • Чтобы сопоставить https://example.com/hello, вы можете использовать https://example.com/*. Это будет соответствовать любой строке после https://example.com/.
  • Чтобы сопоставить https://example.com/search?q=hello, вы можете использовать https://example.com/search?q=*. Это будет соответствовать любому значению параметра q.
  • Чтобы сопоставить любой URL, содержащий слово blog, вы можете использовать *blog*.

Вы также можете использовать подстановку в Wildcard, что означает, что вы можете ссылаться на части совпадающего URL, используя $1, $2 и т. д. Например, если вы используете https://example.com/*-world-*, а URL — https://example.com/hello-world-goodbye, то $1 будет «hello», а $2 будет «goodbye». $0 также доступен для ссылки на все совпадающий URL.

примечание

Хотя подстановка является функцией регулярных выражений, вы также можете использовать ее для Wildcard, потому что Redirect Web внутренне преобразует Wildcard в регулярное выражение.

Регулярное выражение

Регулярное выражение (Regex) — это мощный инструмент для сопоставления шаблонов в тексте, который также широко используется в программировании. Он позволяет определить конкретный шаблон, который соответствует набору строк. Вот несколько примеров.

  • Чтобы сопоставить https://example.com/hello, вы можете использовать https://example.com/.*. Это будет соответствовать любой строке после https://example.com/.
  • Чтобы сопоставить https://example.com/search?q=hello, вы можете использовать https://example.com/search\?q=(.*). Это будет соответствовать значению параметра q и сохранит его в захватываемой группе. Затем вы можете ссылаться на него, используя $1 в опции Перенаправить на.
  • Чтобы сопоставить любой URL, содержащий слово blog, вы можете использовать .*blog.*.

Вы можете ссылаться на захватываемые группы в Перенаправить на или Замена, используя $1, $2, ... или $0 для ссылки на все совпачение.

Redirect Web работает на базе движка регулярных выражений Apple.

Более подробную информацию о синтаксисе регулярных выражений можно найти в таких ресурсах, как RegExr.