Pengaturan Aturan
Halaman ini menyediakan informasi detail tentang setiap pengaturan di layar Edit Aturan pada aplikasi web Redirect.
Opsi
Tipe
Tentukan opsi Tipe untuk mengontrol bagaimana aplikasi menangani pengalihan. Anda dapat memilih dari opsi-opsi berikut:
- Original (Bawaan)
- Ini menggunakan API Web tradisional untuk mengontrol pengalihan. Selain itu, ia menggunakan Tabs API sebagai cadangan.
- Di Firefox, ia 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 mungkin menyebabkan permintaan jaringan tambahan.
- Ini menggunakan API Web tradisional untuk mengontrol pengalihan. Selain itu, ia menggunakan Tabs API sebagai cadangan.
- DNR (Eksperimental untuk Safari):
- Tipe ini bekerja jauh lebih cepat daripada tipe Original 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 Tangkapan dan Pola URL yang Dikecualikan karena belum didukung oleh DNR API.
- ⚠️ Di Safari, saat ini Anda tidak dapat menyertakan pipe (
|
) dalam pola Ekspresi Regular Anda. Detail - ⚠️ Karena DNR API Safari masih memiliki beberapa masalah, kami menganggap ini 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 Regular.
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 pada 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.
Misalnya, jika Anda mengatur script
, Anda dapat mengalihkan file JavaScript yang dimuat oleh halaman web.
Saat ini, tersedia:
main_frame
, sub_frame
, stylesheet
, script
, image
, font
, xmlhttprequest
, ping
, media
, websocket
, other
Pengaturan bawaan adalah main_frame
, yaitu 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 bawaan.
Silakan periksa detail setiap metode di mdn web docs.
Di Safari, opsi ini mungkin tidak tersedia karena implementasi Apple untuk tipe DNR saat ini tampaknya tidak menanganinya. Kami telah mengirimkan umpan balik ke Apple sebagai FB14502272.
Peramban Target
Opsi Peramban Target memungkinkan Anda menentukan peramban mana yang harus atau tidak boleh diterapkan aturan.
- Ada 2 jenis peramban yang dapat Anda pilih:
- Peramban yang dapat Anda pilih secara bawaan: Anda dapat memilih Safari, Chrome, Firefox, Edge, Opera, Arc, Brave, dan Vivaldi secara bawaan. Ini tidak membedakan varian peramban yang sama, seperti Safari dan Safari Technology Preview.
- Peramban yang ditentukan pengguna: Dengan mengetuk tombol Tambah pada 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 tangkapan 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 Tangkapan untuk detailnya.
Anda dapat menentukan skema URL kustom untuk membuka aplikasi. Berikut 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. Selain itu, pastikan bahwa aplikasi mendukung pembukaan URL yang ingin Anda buka.
Pemrosesan Grup Tangkapan
Opsi Pemrosesan Grup Tangkapan memungkinkan Anda menentukan bagaimana memproses grup tangkapan yang dapat Anda substitusikan dalam opsi Alihkan Ke dengan $1
, $2
...
Berikut adalah cara membuat grup tangkapan:
- Wildcard: Teks yang cocok dengan
*
dan?
secara otomatis ditangkap. - Ekspresi Regular: 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 dekode ke grup tangkapan. Misalnya, jika Anda mengenkode
https://example.com/hello
, itu dikonversi menjadihttps%3A%2F%2Fexample.com%2Fhello
. Dekode bekerja sebaliknya. - Base64 Encode/Decode: Ini mendekode/mengenkode teks ke Base64. Misalnya, Anda dapat mengenkode
hello
menjadiaGVsbG8=
, dan mendekodenya kembali menjadihello
. - Ganti Kemunculan: 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 tangkapan 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 Tangkapan:
- Grup:
$1
- Target:
.*
(Ekspresi Regular) - 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 perulangan pengalihan atau untuk mengecualikan bagian tertentu dari situs web agar tidak dialihkan.
Anda dapat menentukan pola URL yang dikecualikan menggunakan tipe pola Ekspresi Regular atau Wildcard.
Contoh
Opsi Contoh memungkinkan Anda menguji aturan pengalihan Anda dengan menyediakan 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.
Pola URL
Ada 3 opsi di mana Anda dapat menentukan satu atau lebih pola URL. Alihkan Dari, Pola URL yang Dikecualikan, dan Pemrosesan Grup Tangkapan. Untuk menentukannya, Anda dapat memilih Wildcard atau Ekspresi Regular.
Wildcard
Wildcard adalah jenis pola yang lebih sederhana yang memungkinkan Anda menggunakan *
(cocok untuk apa saja) dan ?
(cocok untuk satu karakter 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 dalam Wildcard, yang berarti Anda dapat mereferensikan bagian-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.
[!Note] Meskipun substitusi adalah fitur Ekspresi Regular, Anda juga dapat menggunakannya untuk Wildcard karena Redirect Web secara internal mengonversi Wildcard menjadi Ekspresi Regular.
Ekspresi Regular
Ekspresi Regular (Regex) adalah alat yang ampuh untuk mencocokkan pola dalam teks, didukung oleh mesin ekspresi regular Apple yang dijelaskan di sini. Ini memungkinkan Anda menentukan pola spesifik yang cocok dengan serangkaian 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/
dan menyimpannya dalam grup tangkapan. - Untuk mencocokkan
https://example.com/search?q=hello
, Anda dapat menggunakanhttps://example.com/search\?q=(.*)
. Ini akan mencocokkan nilai parameterq
dan menyimpannya dalam grup tangkapan. - Untuk mencocokkan URL apa pun yang berisi kata
blog
, Anda dapat menggunakan.*blog.*
.
Anda dapat mereferensikan grup tangkapan di Alihkan Ke atau Penggantian menggunakan $1
, $2
, ... atau $0
untuk mereferensikan seluruh kecocokan.
Informasi lebih lanjut tentang sintaks Regex dapat ditemukan di sumber daya seperti RegExr.