Pengaturan Aturan
Halaman ini memberikan informasi rinci tentang setiap pengaturan di layar Edit Aturan di aplikasi Redirect Web.
Opsi
Tipe
Tentukan opsi Tipe untuk mengontrol bagaimana aplikasi menangani pengalihan. Anda dapat memilih dari berikut ini:
- Asli (Default)
- Ini menggunakan Web API tradisional untuk mengontrol pengalihan. Selain itu, ini menggunakan Tabs API sebagai cadangan.
- Di Firefox, ini menggunakan WebRequest API untuk menangani pengalihan.
- Anda dapat menggunakan semua opsi selain Jenis Sumber Daya dan Metode Permintaan.
- Ini lebih lambat dari tipe Deklaratif dan dapat menyebabkan permintaan jaringan tambahan.
- Ini menggunakan Web API tradisional untuk mengontrol pengalihan. Selain itu, ini menggunakan Tabs API sebagai cadangan.
- DNR (Eksperimental untuk Safari):
- Tipe ini bekerja jauh lebih cepat daripada tipe Asli karena tidak memulai permintaan jaringan untuk URL sumber.
- Ini memungkinkan Anda untuk menentukan Jenis Sumber Daya dan Metode Permintaan.
- ⚠️ Anda tidak dapat menggunakan beberapa opsi, seperti Pemrosesan Grup Penangkapan dan Pola URL yang Dikecualikan karena belum didukung oleh DNR API.
- ⚠️ Di Safari, saat ini Anda tidak dapat menyertakan pipa (
|
) dalam pola Ekspresi Reguler Anda. Detail - ⚠️ Karena DNR API Safari masih memiliki beberapa masalah, kami menganggapnya masih merupakan fitur eksperimental untuk Safari. Anda dapat menemukan daftar semua masalah yang diketahui di sini.
Alihkan Dari
Opsi Alihkan Dari memungkinkan Anda menentukan pola URL halaman web yang ingin Anda alihkan. Anda dapat memilih Wildcard atau Ekspresi Reguler.
Misalnya, jika Anda menentukan https://example.com/*
dengan Wildcard, itu akan cocok dengan https://example.com/
atau https://example.com/hello
.
Dalam opsi Alihkan Ke, Anda dapat mereferensikan seluruh kecocokan menggunakan $0
atau kecocokan parsial menggunakan $1
, $2
, ... Periksa detailnya di Pola URL di halaman ini.
Jenis Sumber Daya
Opsi Jenis Sumber Daya memungkinkan Anda menentukan kategori permintaan web, seperti gambar, JavaScript, dan lembar gaya, yang berlaku untuk aturan tersebut.
Misalnya, jika Anda mengatur script
, Anda dapat mengalihkan file JavaScript yang dimuat oleh halaman web.
Saat ini, ini tersedia:
main_frame
, sub_frame
, stylesheet
, script
, image
, font
, xmlhttprequest
, ping
, media
, websocket
, other
Pengaturan default adalah main_frame
, yang merupakan halaman tingkat atas yang dimuat ke dalam tab.
Silakan periksa detail setiap jenis sumber daya di mdn web docs.
Metode Permintaan
Opsi Metode Permintaan memungkinkan Anda mengatur metode HTTP target dari URL sumber.
Semua metode diatur secara default.
Silakan periksa detail setiap metode di mdn web docs.
Di Safari, opsi ini mungkin tidak tersedia karena implementasi Apple untuk tipe DNR tampaknya tidak menanganinya saat ini. Kami mengirimkan umpan balik ke Apple sebagai FB14502272.
Peramban Target
Opsi Peramban Target memungkinkan Anda menentukan peramban mana yang harus atau tidak boleh diterapkan aturan tersebut.
- Ada 2 jenis peramban yang dapat Anda pilih:
- Peramban yang dapat Anda pilih secara default: Anda dapat memilih Safari, Chrome, Firefox, Edge, Opera, Arc, Brave, dan Vivaldi secara default. Ini tidak membedakan varian peramban yang sama, seperti Safari dan Safari Technology Preview.
- Peramban yang ditentukan pengguna: Dengan mengetuk tombol Tambah di popover, Anda dapat memilih peramban apa pun selain Safari atau Safari Technology Preview yang telah menginstal ekstensi Redirect Web.
- Kotak centang Semua kecuali yang dipilih memungkinkan Anda menargetkan setiap peramban kecuali yang telah Anda pilih.
Redirect Web tidak dapat membedakan apakah peramban tersebut adalah Safari atau Safari Technology Preview karena aplikasi memeriksa proses induk ekstensi untuk mendeteksinya tetapi kedua peramban ini berbagi proses induk yang sama (/sbin/launchd
).
Alihkan Ke
Opsi Alihkan Ke menentukan URL tujuan yang ingin Anda alihkan, dari URL sumber yang cocok dengan opsi Alihkan Dari. Anda juga dapat mengganti grup penangkapan dengan $1
, $2
, ... atau seluruh kecocokan dengan $0
. Ini membantu Anda menentukan tujuan secara dinamis. Periksa detailnya di Pola URL di halaman ini.
Misalnya, jika Anda mengatur aturan berikut:
- Alihkan Dari:
https://google.com/*
(Wildcard) - Alihkan Ke:
https://apple.com/$1
dan itu cocok dengan https://google.com/hello
, maka URL tujuan akan menjadi https://apple.com/hello
.
Selain itu, Anda dapat memodifikasi teks $1
, $2
, ... sebelum melakukan substitusi. Periksa bagian Pemrosesan Grup Penangkapan untuk detailnya.
Anda dapat menentukan skema URL kustom untuk membuka aplikasi. Ini adalah contoh aplikasi yang mendukung deep linking:
- 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
Aplikasi
Jika Anda ingin menentukan aplikasi yang ingin Anda buka URL tujuannya, gunakan kotak kombo Aplikasi. Ini hanya tersedia di macOS.
Anda hanya dapat membuka aplikasi yang mendukung App Sandbox. Juga, pastikan aplikasi mendukung pembukaan URL yang ingin Anda buka.
Pemrosesan Grup Penangkapan
Opsi Pemrosesan Grup Penangkapan memungkinkan Anda menentukan bagaimana memproses grup yang ditangkap yang dapat Anda substitusikan dalam opsi Alihkan Ke dengan $1
, $2
...
Ini adalah cara membuat grup penangkapan:
- Wildcard: Teks yang cocok dengan
*
dan?
secara otomatis ditangkap. - Ekspresi Reguler: Teks yang cocok dengan bagian pola di dalam
()
ditangkap.
Anda dapat memilih satu atau lebih dari proses berikut:
- URL Encode/Decode: Ini menerapkan percent-encoding atau decoding ke grup penangkapan. Misalnya, jika Anda mengkodekan
https://example.com/hello
, itu diubah menjadihttps%3A%2F%2Fexample.com%2Fhello
. Decode bekerja sebaliknya. - Base64 Encode/Decode: Ini mendekode/mengkodekan teks ke Base64. Misalnya, Anda dapat mengkodekan
hello
menjadiaGVsbG8=
, dan mendekodenya kembali menjadihello
. - Ganti Kejadian: Ini mengganti satu atau lebih karakter dalam grup, yang cocok dengan Target, dengan Pengganti. Misalnya, jika Grup adalah
hello
dan Target adalahl
dan Pengganti adalahy
, itu dimodifikasi menjadiheyyo
.
Ini untuk memproses setiap grup penangkapan dan tidak memengaruhi URL mana yang dikecualikan oleh Pola URL yang Dikecualikan. Misalnya, katakanlah Anda memiliki aturan ini:
- Alihkan Dari:
https://example.com/(hello.*)
- Pemrosesan Grup Penangkapan:
- Grup:
$1
- Target:
.*
(Ekspresi Reguler) - Pengganti:
hello
- Grup:
- Pola URL yang Dikecualikan:
https://example.com/hello
Dalam kasus ini, https://example.com/hello_world
tidak akan dikecualikan sementara https://example.com/hello
akan dikecualikan.
Pola URL yang Dikecualikan
Opsi Pola URL yang Dikecualikan memungkinkan Anda menentukan URL yang tidak dialihkan. Ini dapat berguna untuk menghindari loop pengalihan atau untuk mengecualikan bagian tertentu dari situs web agar tidak dialihkan.
Anda dapat menentukan pola URL yang dikecualikan menggunakan tipe pola Ekspresi Reguler atau Wildcard.
Contoh
Opsi Contoh memungkinkan Anda menguji aturan pengalihan Anda dengan memberikan contoh URL. Dengan menambahkan contoh URL, Anda dapat memeriksa apakah aturan berfungsi seperti yang diharapkan sebelum benar-benar menerapkannya.
Komentar
Opsi Komentar memungkinkan Anda menambahkan catatan atau komentar tentang aturan pengalihan Anda. Ini dapat berguna untuk melacak mengapa Anda membuat aturan tertentu atau untuk memberikan konteks bagi orang lain yang mungkin melihat aturan Anda.
Anda dapat menulis komentar dalam format berikut:
- Teks Biasa (Default): Teks sederhana tanpa format apa pun.
- Markdown: Anda dapat menggunakan sintaks Markdown GitHub, termasuk beberapa ekstensi yang tidak didukung GFM. Misalnya, Anda dapat membuat judul, daftar, tautan, dan lainnya.
- AsciiDoc: Anda dapat menggunakan sintaks AsciiDoc untuk memformat komentar Anda.
Pola URL
Pola URL digunakan untuk mencocokkan URL dalam opsi Alihkan Dari, Pola URL yang Dikecualikan, dan Pemrosesan Grup Penangkapan. Untuk menentukannya, Anda dapat memilih Wildcard atau Ekspresi Reguler.
Wildcard
Wildcard adalah tipe pola yang lebih sederhana yang memungkinkan Anda menggunakan *
(cocok dengan apa pun) dan ?
(cocok dengan karakter tunggal apa pun) sebagai wildcard. Berikut adalah beberapa contoh:
- Untuk mencocokkan
https://example.com/hello
, Anda dapat menggunakanhttps://example.com/*
. Ini akan mencocokkan string apa pun setelahhttps://example.com/
. - Untuk mencocokkan
https://example.com/search?q=hello
, Anda dapat menggunakanhttps://example.com/search?q=*
. Ini akan mencocokkan nilai apa pun untuk parameterq
. - Untuk mencocokkan URL apa pun yang berisi kata
blog
, Anda dapat menggunakan*blog*
.
Anda juga dapat menggunakan substitusi di Wildcard, yang berarti Anda dapat mereferensikan bagian dari URL yang cocok menggunakan $1
, $2
, dll. Misalnya, jika Anda menggunakan https://example.com/*-world-*
, dan URL-nya adalah https://example.com/hello-world-goodbye
, maka $1
akan menjadi "hello" dan $2
akan menjadi "goodbye". $0
juga tersedia untuk mereferensikan seluruh URL yang cocok.
Meskipun substitusi adalah fitur Ekspresi Reguler, Anda juga dapat menggunakannya untuk Wildcard karena Redirect Web secara internal mengonversi Wildcard ke Ekspresi Reguler.
Ekspresi Reguler
Ekspresi Reguler (Regex) adalah alat yang ampuh untuk mencocokkan pola dalam teks dan juga banyak digunakan dalam pemrograman. Ini memungkinkan Anda untuk menentukan pola tertentu yang cocok dengan sekumpulan string. Berikut adalah beberapa contoh.
- Untuk mencocokkan
https://example.com/hello
, Anda dapat menggunakanhttps://example.com/.*
. Ini akan mencocokkan string apa pun setelahhttps://example.com/
. - Untuk mencocokkan
https://example.com/search?q=hello
, Anda dapat menggunakanhttps://example.com/search\?q=(.*)
. Ini akan mencocokkan nilai parameterq
dan menyimpannya dalam grup penangkapan. Anda kemudian dapat mereferensikannya menggunakan$1
dalam opsi Alihkan Ke. - Untuk mencocokkan URL apa pun yang berisi kata
blog
, Anda dapat menggunakan.*blog.*
.
Anda dapat mereferensikan grup penangkapan di Alihkan Ke atau Pengganti menggunakan $1
, $2
, ... atau $0
untuk mereferensikan seluruh kecocokan.
Redirect Web didukung oleh mesin Regex Apple.
Informasi lebih lanjut tentang sintaks Regex dapat ditemukan di sumber daya seperti RegExr.