Налаштування правил
Ця сторінка містить детальну інформацію про кожне налаштування на екрані Редагувати правило в додатку Redirect Web.
Опції
Тип
Вкажіть опцію Тип, щоб контролювати, як додаток обробляє перенаправлення. Ви можете вибрати з наступних:
- Оригінальний (за замовчуванням)
- Використовує традиційні веб-API для керування перенаправленням. Додатково, він використовує Tabs API як запасний варіант.
- У Firefox він використовує WebRequest API для обробки перенаправлення.
- Ви можете використовувати всі опції, крім Типів ресурсів та Методів запиту.
- Це повільніше, ніж тип Декларативний, і може спричинити додаткові мережеві запити.
- Використовує традиційні веб-API для керування перенаправленням. Додатково, він використовує Tabs 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 на цій сторінці.
Типи ресурсів
Опція Типи ресурсів дозволяє вказати категорії веб-запитів, такі як зображення, 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: Це застосовує відсоткове кодування або декодування до групи захоплення. Наприклад, якщо ви закодуєте
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 за допомогою типів шаблонів Regular Expression або 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 працює на базі рушія Regex Apple.
Більше інформації про синтаксис Regex можна знайти в таких ресурсах, як RegExr.