Налаштування правил
На цій сторінці наведено детальну інформацію про кожне налаштування на екрані «Редагувати правило» у веб-додатку Redirect Web.
Опції
Тип
Визначте опцію Тип, щоб керувати тим, як додаток обробляє переспрямування. Ви можете вибрати один із наступних варіантів:
- Original (За замовчуванням)
- Використовує традиційні веб-API для керування переспрямуванням. Додатково використовує Tabs API як резервний варіант.
- У Firefox використовується WebRequest API для обробки переспрямувань.
- Ви можете використовувати всі опції, окрім Типів ресурсів та Методів запитів.
- Цей тип повільніший, ніж Declarative, і може спричиняти додаткові мережеві запити.
- Використовує традиційні веб-API для керування переспрямуванням. Додатково використовує Tabs API як резервний варіант.
- DNR (Експериментально для Safari):
- Цей тип працює значно швидше, ніж Original, оскільки він не ініціює мережевий запит для вихідної 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 на цій сторінці.
Типи ресурсів
Опція Типи ресурсів дозволяє вказувати категорії веб-запитів, такі як зображення, JavaScript та таблиці стилів, до яких застосовується правило.
Наприклад, якщо ви встановите script
, ви зможете переспрямовувати файли JavaScript, завантажені веб-сторінками.
Наразі доступні такі типи:
main_frame
, sub_frame
, stylesheet
, script
, image
, font
, xmlhttprequest
, ping
, media
, websocket
, other
Налаштування за замовчуванням – main_frame
, що відповідає сторінці верхнього рівня, завантаженій у вкладку.
Будь ласка, перевірте деталі кожного типу ресурсу в mdn web docs.
Методи запитів
Опція Методи запитів дозволяє встановити цільові HTTP-методи вихідного URL.
За замовчуванням встановлені всі методи.
Будь ласка, перевірте деталі кожного методу в mdn web docs.
У Safari ця опція може бути недоступною, оскільки реалізація Apple для типу DNR, схоже, наразі не обробляє її. Ми надіслали відгук до Apple як FB14502272.
Цільові браузери
Опція Цільові браузери дозволяє вказати, до якого браузера правило має або не має застосовуватися.
- Ви можете вибрати 2 типи браузерів:
- Браузери, які можна вибрати за замовчуванням: За замовчуванням можна вибрати Safari, Chrome, Firefox, Edge, Opera, Arc, Brave та Vivaldi. Це не розрізняє варіанти одного й того ж браузера, такі як Safari та Safari Technology Preview.
- Визначені користувачем браузери: Натиснувши кнопку «Додати» на спливаючому вікні, ви можете вибрати будь-який браузер, окрім Safari або Safari Technology Preview, у якому встановлено розширення Redirect Web.
- Прапорець Усі, крім вибраних дозволяє націлюватися на всі браузери, крім тих, що ви вибрали.
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
Застосунок
Якщо ви бажаєте вказати програму, якою слід відкрити цільову URL-адресу, скористайтеся комбінованим списком Застосунок. Це доступно лише на macOS.
Ви можете відкривати лише ті програми, які підтримують App Sandbox. Також переконайтеся, що програма підтримує відкриття URL-адреси, яку ви хочете відкрити.
Обробка груп захоплення
Опція Обробка груп захоплення дозволяє вказати, як обробляти захоплені групи, які ви можете замінити в опції Переспрямувати на за допомогою $1
, $2
...
Ось як створювати групи захоплення:
- Wildcard: Тексти, що відповідають
*
та?
, захоплюються автоматично. - Регулярний вираз: Тексти, що відповідають частині шаблону всередині
()
, захоплюються.
Ви можете вибрати один або кілька з наступних процесів:
- URL Encode/Decode: Застосовує відсоткове кодування або декодування до групи захоплення. Наприклад, якщо ви кодуєте
https://example.com/hello
, воно перетворюється наhttps%3A%2F%2Fexample.com%2Fhello
. Декодування працює у зворотному напрямку. - Base64 Encode/Decode: Декодує/кодує текст у 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, використовуючи типи шаблонів Regular Expression або Wildcard.
Приклади
Опція Приклади дозволяє перевірити ваше правило переспрямування, надаючи зразки URL-адрес. Додавши зразок URL, ви можете перевірити, чи працює правило, як очікувалося, перш ніж фактично його застосовувати.
Коментарі
Опція Коментарі дозволяє додавати будь-які нотатки або коментарі щодо вашого правила переспрямування. Це може бути корисним для відстеження того, чому ви створили певне правило, або для надання контексту для інших, хто може переглядати ваші правила.
Шаблон URL
Є 3 опції, де ви можете вказати один або кілька шаблонів 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-адресу.
[!Note] Хоча заміщення є функцією регулярних виразів, ви також можете використовувати його для Wildcard, оскільки Redirect Web внутрішньо перетворює Wildcard на регулярний вираз.
Регулярний вираз
Регулярний вираз (Regex) — це потужний інструмент для пошуку шаблонів у тексті, що працює на основі механізму регулярних виразів Apple, описаного тут. Він дозволяє визначити конкретний шаблон, який відповідає набору рядків. Ось кілька прикладів.
- Щоб співставити
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.*
.
Ви можете посилатися на групи захоплення в Redirect To або Replacement за допомогою $1
, $2
, ... або $0
для посилання на весь збіг.
Більше інформації про синтаксис Regex можна знайти в таких ресурсах, як RegExr.