Kural Ayarları
Bu sayfa, Redirect Web uygulamasındaki Kural Düzenleme ekranındaki her bir ayarın ayrıntılı bilgilerini sunar.
Seçenekler
Tür
Uygulamanın yönlendirmeyi nasıl ele alacağını kontrol etmek için Tür seçeneğini belirtin. Şunlar arasından seçim yapabilirsiniz:
- Orijinal (Varsayılan)
- Bu, yönlendirmeyi kontrol etmek için geleneksel Web API'lerini kullanır. Ek olarak, bir geri dönüş için Sekmeler API'sini kullanır.
- Firefox'ta, yönlendirmeyi ele almak için WebRequest API'sini kullanır.
- Kaynak Türleri ve İstek Yöntemleri dışındaki tüm seçenekleri kullanabilirsiniz.
- Bu, Bildirimsel türden daha yavaştır ve ek ağ isteklerine neden olabilir.
- Bu, yönlendirmeyi kontrol etmek için geleneksel Web API'lerini kullanır. Ek olarak, bir geri dönüş için Sekmeler API'sini kullanır.
- DNR (Safari için Deneysel):
- Bu tür, kaynak URL için bir ağ isteği başlatmadığı için Orijinal türden çok daha hızlı çalışır.
- Bu, Kaynak Türleri ve İstek Yöntemleri belirtmenize olanak tanır.
- ⚠️ Yakalanan Grup İşleme ve Hariç Tutulan URL Desenleri gibi bazı seçenekleri kullanamazsınız, çünkü bunlar henüz DNR API tarafından desteklenmemektedir.
- ⚠️ Safari'de, şu anda Normal İfade deseninize boru işaretleri (
|
) ekleyemezsiniz. Ayrıntılar - ⚠️ Safari'nin DNR API'sinde hala bazı sorunlar olduğundan, bunu Safari için hala deneysel bir özellik olarak görüyoruz. Bilinen tüm sorunların listesini burada bulabilirsiniz.
Şuradan Yönlendir
Şuradan Yönlendir seçeneği, yönlendirmek istediğiniz web sayfalarının URL desenini belirtmenizi sağlar. Joker Karakter veya Normal İfade seçebilirsiniz.
Örneğin, Joker Karakter ile https://example.com/*
belirtirseniz, bu https://example.com/
veya https://example.com/hello
ile eşleşir.
Şuraya Yönlendir seçeneğinde, $0
kullanarak tüm eşleşmeyi veya $1
, $2
, ... kullanarak kısmi eşleşmeleri referans alabilirsiniz. Bu sayfadaki URL Deseni bölümünde ayrıntıları kontrol edin.
Kaynak Türleri
Kaynak Türleri seçeneği, kuralın uygulanacağı resimler, JavaScript'ler ve stil sayfaları gibi web isteklerinin kategorilerini belirtmenizi sağlar.
Örneğin, script
ayarlarsanız, web sayfaları tarafından yüklenen JavaScript dosyalarını yönlendirebilirsiniz.
Şu anda şunlar mevcuttur:
main_frame
, sub_frame
, stylesheet
, script
, image
, font
, xmlhttprequest
, ping
, media
, websocket
, other
Varsayılan ayar, bir sekmeye yüklenen üst düzey sayfa olan main_frame
'dir.
Please check the details of each resource type in mdn web docs.
İstek Yöntemleri
İstek Yöntemleri seçeneği, kaynak URL'nin hedef HTTP yöntemlerini ayarlamanızı sağlar.
Tüm yöntemler varsayılan olarak ayarlanmıştır.
Please check the details of each method in mdn web docs.
Safari'de bu seçenek kullanılamayabilir çünkü Apple'ın DNR türü için uygulaması şu anda bunu ele almıyor gibi görünüyor. Apple'a FB14502272 olarak geri bildirim gönderdik.
Hedef Tarayıcılar
Hedef Tarayıcılar seçeneği, kuralın hangi tarayıcıya uygulanması gerektiğini veya uygulanmaması gerektiğini belirtmenizi sağlar.
- Seçebileceğiniz 2 tür tarayıcı vardır:
- Varsayılan olarak seçebileceğiniz tarayıcılar: Varsayılan olarak Safari, Chrome, Firefox, Edge, Opera, Arc, Brave ve Vivaldi'yi seçebilirsiniz. Bu, Safari ve Safari Technology Preview gibi aynı tarayıcının varyantlarını ayırt etmez.
- Kullanıcı tarafından belirtilen tarayıcılar: Açılır penceredeki Ekle düğmesine dokunarak, Redirect Web uzantısının yüklü olduğu Safari veya Safari Technology Preview dışındaki herhangi bir tarayıcıyı seçebilirsiniz.
- Seçilenler dışındaki tümü onay kutusu, seçtiğiniz tarayıcılar dışındaki her tarayıcıyı hedeflemenizi sağlar.
Redirect Web, tarayıcının Safari mi yoksa Safari Technology Preview mu olduğunu ayırt edemez çünkü uygulama, uzantının üst sürecini kontrol ederek bunu algılar, ancak bu iki tarayıcı aynı üst süreci (/sbin/launchd
) paylaşır.
Şuraya Yönlendir
Şuraya Yönlendir seçeneği, Şuradan Yönlendir seçeneğiyle eşleşen kaynak URL'den yönlendirmek istediğiniz hedef URL'yi belirtir. Ayrıca, $1
, $2
, ... ile yakalanan grupları veya $0
ile tüm eşleşmeyi değiştirebilirsiniz. Bunlar, hedefi dinamik olarak belirtmenize yardımcı olur. Bu sayfadaki URL Deseni bölümünde ayrıntıları kontrol edin.
Örneğin, aşağıdaki kuralı ayarlarsanız:
- Şuradan Yönlendir:
https://google.com/*
(Joker Karakter) - Şuraya Yönlendir:
https://apple.com/$1
ve bu https://google.com/hello
ile eşleşirse, hedef URL https://apple.com/hello
olacaktır.
Ek olarak, $1
, $2
, ... metinlerini değiştirmeden önce değiştirebilirsiniz. Ayrıntılar için Yakalanan Grup İşleme bölümünü kontrol edin.
Bir uygulamayı açmak için özel bir URL şeması belirtebilirsiniz. Bunlar, derin bağlantıyı destekleyen uygulamalara örneklerdir:
- 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
Uygulama
Hedef URL'yi açmak istediğiniz bir uygulamayı belirtmek isterseniz, Uygulama açılır kutusunu kullanın. Bu yalnızca macOS'ta kullanılabilir.
Yalnızca Uygulama Korumalı Alanını destekleyen bir uygulamayı açabilirsiniz. Ayrıca, uygulamanın açmak istediğiniz URL'yi açmayı desteklediğinden emin olun.
Yakalanan Grup İşleme
Yakalanan Grup İşleme seçeneği, Şuraya Yönlendir seçeneğinde $1
, $2
... ile değiştirebileceğiniz yakalanan grupları nasıl işleyeceğinizi belirtmenizi sağlar.
Yakalanan grupları oluşturma yolları şunlardır:
- Joker Karakter:
*
ve?
ile eşleşen metinler otomatik olarak yakalanır. - Normal İfade: Desen içindeki
()
kısmıyla eşleşen metinler yakalanır.
Aşağıdaki işlemlerden bir veya daha fazlasını seçebilirsiniz:
- URL Kodla/Çöz: Bu, bir yakalama grubuna yüzde kodlama veya çözme uygular. Örneğin,
https://example.com/hello
kodlarsanız,https%3A%2F%2Fexample.com%2Fhello
olarak dönüştürülür. Çözme işlemi ters yönde çalışır. - Base64 Kodla/Çöz: Bu, bir metni Base64 olarak kodlar/çözer. Örneğin,
hello
kelimesiniaGVsbG8=
olarak kodlayabilir ve tekrarhello
olarak çözebilirsiniz. - Oluşumları Değiştir: Bu, bir gruptaki bir veya daha fazla karakteri, bir Hedef ile eşleşenleri, bir Değiştirme ile değiştirir. Örneğin, Grup
hello
, Hedefl
ve Değiştirmey
ise,heyyo
olarak değiştirilir.
Bu, her yakalama grubunu işlemek içindir ve Hariç Tutulan URL Desenleri tarafından hangi URL'lerin hariç tutulduğunu etkilemez. Örneğin, şu kurala sahip olduğunuzu varsayalım:
- Şuradan Yönlendir:
https://example.com/(hello.*)
- Yakalanan Grup İşleme:
- Grup:
$1
- Hedef:
.*
(Normal İfade) - Değiştirme:
hello
- Grup:
- Hariç Tutulan URL Deseni:
https://example.com/hello
Bu durumda, https://example.com/hello_world
hariç tutulmayacakken https://example.com/hello
hariç tutulacaktır.
Hariç Tutulan URL Desenleri
Hariç Tutulan URL Desenleri seçeneği, yönlendirilmeyen URL'leri belirtmenizi sağlar. Bu, yönlendirme döngülerini önlemek veya bir web sitesinin belirli kısımlarını yönlendirmeden hariç tutmak için yararlı olabilir.
Hariç tutulan URL desenlerini Normal İfade veya Joker Karakter desen türlerini kullanarak belirtebilirsiniz.
Örnekler
Örnekler seçeneği, örnek URL'ler sağlayarak yönlendirme kuralınızı test etmenizi sağlar. Bir örnek URL ekleyerek, kuralı gerçekten uygulamadan önce beklendiği gibi çalışıp çalışmadığını kontrol edebilirsiniz.
Yorumlar
Yorumlar seçeneği, yönlendirme kuralınız hakkında herhangi bir not veya yorum eklemenizi sağlar. Bu, belirli bir kuralı neden oluşturduğunuzu takip etmek veya kurallarınızı görüntüleyebilecek diğer kişiler için bağlam sağlamak için yararlı olabilir.
Yorumları aşağıdaki formatlarda yazabilirsiniz:
- Düz Metin (Varsayılan): Herhangi bir biçimlendirme içermeyen basit metin.
- Markdown: GitHub'ın Markdown sözdizimlerini, GFM'nin desteklemediği bazı uzantılar dahil olmak üzere kullanabilirsiniz. Örneğin, başlıklar, listeler, bağlantılar ve daha fazlasını oluşturabilirsiniz.
- AsciiDoc: Yorumlarınızı biçimlendirmek için AsciiDoc sözdizimlerini kullanabilirsiniz.
URL Deseni
URL desenleri, Şuradan Yönlendir, Hariç Tutulan URL Desenleri ve Yakalanan Grup İşleme seçeneklerinde URL'leri eşleştirmek için kullanılır. Bunları belirtmek için Joker Karakter veya Normal İfade seçebilirsiniz.
Joker Karakter
Joker Karakter, *
(herhangi bir şeyi eşleştirir) ve ?
(herhangi bir tek karakteri eşleştirir) joker karakter olarak kullanmanıza izin veren daha basit bir desen türüdür. İşte bazı örnekler:
https://example.com/hello
ile eşleşmek içinhttps://example.com/*
kullanabilirsiniz. Bu,https://example.com/
sonrasındaki herhangi bir dizeyle eşleşecektir.https://example.com/search?q=hello
ile eşleşmek içinhttps://example.com/search?q=*
kullanabilirsiniz. Bu,q
parametresi için herhangi bir değerle eşleşecektir.blog
kelimesini içeren herhangi bir URL ile eşleşmek için*blog*
kullanabilirsiniz.
Joker Karakter'de de ikame kullanabilirsiniz, bu da eşleşen URL'nin bölümlerini $1
, $2
, vb. kullanarak referans alabileceğiniz anlamına gelir. Örneğin, https://example.com/*-world-*
kullanırsanız ve URL https://example.com/hello-world-goodbye
ise, $1
"hello" ve $2
"goodbye" olacaktır. Eşleşen tüm URL'yi referans almak için $0
da mevcuttur.
İkame, Normal İfade'nin bir özelliği olmasına rağmen, Redirect Web dahili olarak Joker Karakter'i Normal İfade'ye dönüştürdüğü için Joker Karakter için de kullanabilirsiniz.
Normal İfade
Normal İfade (Regex), metindeki desenleri eşleştirmek için güçlü bir araçtır ve programlamada da yaygın olarak kullanılır. Bir dizi dizeyle eşleşen belirli bir desen tanımlamanıza olanak tanır. İşte bazı örnekler.
https://example.com/hello
ile eşleşmek içinhttps://example.com/.*
kullanabilirsiniz. Bu,https://example.com/
sonrasındaki herhangi bir dizeyle eşleşecektir.https://example.com/search?q=hello
ile eşleşmek içinhttps://example.com/search\?q=(.*)
kullanabilirsiniz. Bu,q
parametresinin değerini eşleştirecek ve bir yakalama grubunda saklayacaktır. Daha sonra Şuraya Yönlendir seçeneğinde$1
kullanarak bunu referans alabilirsiniz.blog
kelimesini içeren herhangi bir URL ile eşleşmek için.*blog.*
kullanabilirsiniz.
Şuraya Yönlendir veya Değiştirme seçeneklerinde yakalama gruplarını $1
, $2
, ... veya tüm eşleşmeyi referans almak için $0
kullanabilirsiniz.
Redirect Web, Apple'ın Regex motoru tarafından desteklenmektedir.
Regex sözdizimi hakkında daha fazla bilgiyi RegExr gibi kaynaklarda bulabilirsiniz.