Ana içeriğe geç

Kural Ayarları

Bu sayfa, RedirectWeb uygulamasındaki Kuralı Düzenle ekranındaki her bir ayarın ayrıntılı bilgisini sağlar.

Seçenekler

Tür

Uygulamanın yönlendirmeyi nasıl yöneteceğini kontrol etmek için Tür seçeneğini belirtin. Şunlar arasından seçim yapabilirsiniz:

  • Original (Varsayılan)
    • Bu, yönlendirmeyi kontrol etmek için geleneksel Web API'lerini kullanır. Ek olarak, yedek (fallback) olarak Tabs API kullanır.
    • Kaynak Türleri ve İstek Yöntemleri dışındaki tüm seçenekleri kullanabilirsiniz.
    • ⚠️ Bu, Declarative türünden daha yavaştır ve ekstra ağ isteklerine neden olabilir.
  • DNR (Safari için Deneysel):
    • Bu tür, kaynak URL için bir ağ isteği başlatmadığı için Original türünden çok daha hızlı çalışır.
    • Bu, Kaynak Türleri ve İstek Yöntemleri seçeneklerini belirtmenize olanak tanır.
    • ⚠️ Henüz DNR API tarafından desteklenmedikleri için Yakalama Grubu İşleme ve Hariç Tutulan URL Kalıpları gibi bazı seçenekleri kullanamazsınız.
    • ⚠️ Safari'de, şu anda Düzenli İfade (Regular Expression) kalıbınıza dik çizgi (|) ekleyemezsiniz. Ayrıntılar
    • ⚠️ Safari'nin DNR API'sinin hala bazı sorunları olduğu için bunu Safari için hala deneysel bir özellik olarak görüyoruz. Bilinen tüm sorunların listesini burada bulabilirsiniz.

Yönlendirme Kaynağı

Yönlendirme Kaynağı seçeneği, yönlendirmek istediğiniz web sayfalarının bir URL kalıbını belirtmenize olanak tanır. Joker Karakter (Wildcard) veya Düzenli İfade (Regular Expression) seçebilirsiniz.

Örneğin, Joker Karakter ile https://example.com/* belirtirseniz, https://example.com/ veya https://example.com/hello ile eşleşir.

not

Yönlendirme Hedefi seçeneğinde, eşleşmenin tamamına $0 kullanarak veya kısmi eşleşmelere $1, $2, ... kullanarak atıfta bulunabilirsiniz. Bu sayfadaki URL Kalıbı kısmındaki ayrıntıları kontrol edin.

Kaynak Türleri

Desteklenen Türler: DNR

Kaynak Türleri seçeneği, kuralın uygulanacağı resimler, JavaScript'ler ve stil sayfaları gibi web isteği kategorilerini belirtmenize olanak tanır. Örneğin, script olarak 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 en üst düzey sayfa olan main_frame'dir.

Lütfen her kaynak türünün ayrıntılarını mdn web docs sayfasından kontrol edin.

İstek Yöntemleri

Desteklenen Türler: DNR

İstek Yöntemleri seçeneği, kaynak URL'nin hedef HTTP yöntemlerini ayarlamanıza olanak tanır.

Varsayılan olarak tüm yöntemler ayarlıdır.

Lütfen her yöntemin ayrıntılarını mdn web docs sayfasından kontrol edin.

uyarı

Safari'de Apple'ın DNR türü uygulaması şu anda bunu yönetmiyor gibi göründüğü için bu seçenek mevcut olmayabilir. Apple'a FB14502272 olarak geri bildirim gönderdik.

Hedef Tarayıcılar

Desteklenen Platformlar: macOS

Hedef Tarayıcılar seçeneği, kuralın hangi tarayıcıya uygulanıp uygulanmayacağını belirtmenize olanak tanır.

  • 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, RedirectWeb uzantısının yüklü olduğu Safari veya Safari Technology Preview dışındaki herhangi bir tarayıcıyı seçebilirsiniz.
  • Seçilenler hariç tümü onay kutusu, seçtikleriniz dışındaki her tarayıcıyı hedeflemenize olanak tanır.
uyarı

RedirectWeb, tarayıcının Safari mi yoksa Safari Technology Preview mi olduğunu ayırt edemez çünkü uygulama bunu tespit etmek için uzantının üst sürecini kontrol eder ancak bu iki tarayıcı aynı üst süreci (/sbin/launchd) paylaşır.

Yönlendirme Hedefi

Yönlendirme Hedefi seçeneği, Yönlendirme Kaynağı seçeneğiyle eşleşen kaynak URL'den yönlendirmek istediğiniz bir hedef URL'yi belirtir. Ayrıca yakalama gruplarını $1, $2, ... ile veya eşleşmenin tamamını $0 ile değiştirebilirsiniz. Bunlar hedefi dinamik olarak belirtmenize yardımcı olur. Bu sayfadaki URL Kalıbı kısmındaki ayrıntıları kontrol edin.

Örneğin, aşağıdaki kuralı ayarlarsanız:

  • Yönlendirme Kaynağı: https://google.com/* (Joker Karakter)
  • Yönlendirme Hedefi: https://apple.com/$1

ve https://google.com/hello ile eşleşirse, hedef URL https://apple.com/hello olacaktır.

Ek olarak, değiştirmeleri yapmadan önce $1, $2, ... metinlerini değiştirebilirsiniz. Ayrıntılar için Yakalama Grubu İşleme bölümüne bakın.

ipucu

Bir uygulamayı açmak için özel bir URL şeması belirtebilirsiniz. İşte derin bağlantıyı (deep linking) destekleyen uygulama örnekleri:

  • 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

Desteklenen Türler: Original Desteklenen Platformlar: macOS

Hedef URL'yi açmak istediğiniz bir uygulamayı belirtmek istiyorsanız, Uygulama birleşik giriş kutusunu (combo box) kullanın. Bu yalnızca macOS'ta kullanılabilir.

uyarı

Yalnızca App Sandbox destekleyen bir uygulama açabilirsiniz. Ayrıca, uygulamanın açmak istediğiniz URL'yi açmayı desteklediğinden emin olun.

Yakalama Grubu İşleme

Desteklenen Türler: Original

Yakalama Grubu İşleme seçeneği, Yönlendirme Hedefi seçeneğinde $1, $2... ile değiştirebileceğiniz yakalanan grupların nasıl işleneceğini belirtmenize olanak tanır.

Yakalama gruplarının nasıl oluşturulacağı aşağıdadır:

  • Joker Karakter (Wildcard): * ve ? ile eşleşen metinler otomatik olarak yakalanır.
  • Düzenli İfade (Regular Expression): () içindeki kalıbın bir kısmıyla eşleşen metinler yakalanır.

Aşağıdaki işlemlerden birini veya daha fazlasını seçebilirsiniz:

  • URL Kodla/Kod Çöz (Encode/Decode): Bu, bir yakalama grubuna yüzde kodlaması (percent-encoding) veya kod çözme uygular. Örneğin, https://example.com/hello kodlarsanız, https%3A%2F%2Fexample.com%2Fhello şekline dönüştürülür. Kod Çözme tam tersi şekilde çalışır.
  • Base64 Kodla/Kod Çöz (Encode/Decode): Bu, bir metni Base64 formatına kodlar veya kodunu çözer. Örneğin, hello metnini aGVsbG8= olarak kodlayabilir ve tekrar hello olarak çözebilirsiniz.
  • Geçişleri Değiştir (Replace Occurrences): Bu, bir gruptaki Hedef ile eşleşen bir veya daha fazla karakteri bir Değiştirme ile değiştirir. Örneğin, Grup hello, Hedef l ve Değiştirme y ise, heyyo olarak değiştirilir.
not

Bu, her bir yakalama grubunu işlemek içindir ve hangi URL'lerin Hariç Tutulan URL Kalıpları tarafından hariç tutulacağını etkilemez. Örneğin, şu kurala sahip olduğunuzu varsayalım:

  • Yönlendirme Kaynağı: https://example.com/(hello.*)
  • Yakalama Grubu İşleme:
    • Grup: $1
    • Hedef: .* (Düzenli İfade)
    • Değiştirme: hello
  • Hariç Tutulan URL Kalıbı: https://example.com/hello

Bu durumda, https://example.com/hello_world hariç tutulmazken https://example.com/hello hariç tutulacaktır.

Hariç Tutulan URL Kalıpları

Desteklenen Türler: Original

Hariç Tutulan URL Kalıpları seçeneği, yönlendirilmeyecek URL'leri belirtmenize olanak tanır. Bu, yönlendirme döngülerinden kaçınmak veya bir web sitesinin belirli kısımlarını yönlendirme dışında tutmak için yararlı olabilir.

Düzenli İfade veya Joker Karakter kalıp türlerini kullanarak hariç tutulan URL kalıplarını belirtebilirsiniz.

Örnekler

Örnekler seçeneği, örnek URL'ler sağlayarak yönlendirme kuralınızı test etmenize olanak tanır. Bir örnek URL ekleyerek, kuralı gerçekten uygulamadan önce beklendiği gibi çalışıp çalışmadığını kontrol edebilirsiniz.

Gelişmiş

  • [DNR] Ana Çerçeve Yönlendirmesi (Main Frame Redirection): Bu seçenek yalnızca DNR türü için kullanılabilir. main_frame kaynak türü için yönlendirmenin nasıl yönetileceğini belirtmenize olanak tanır. Mevcut seçenekler şunlardır:
    • Raw (Ham): Ana çerçeveyi herhangi bir değişiklik yapmadan belirtilen URL'ye yönlendirir.
    • Via Intermediate Page (Ara Sayfa Üzerinden): Ana çerçeveyi bir ara sayfaya yönlendirir, o sayfa da ardından belirtilen hedef URL'ye yönlendirir. Bu, derin bağlantı kullanan uygulamaları açmak için yararlıdır çünkü ara sayfa daha karmaşık yönlendirme mantığını yönetebilir.

Yorumlar

Yorumlar seçeneği, yönlendirme kuralınız hakkında herhangi bir not veya yorum eklemenize olanak tanır. Bu, belirli bir kuralı neden oluşturduğunuzu takip etmek veya kurallarınızı görüntüleyebilecek başkaları için bağlam sağlamak için yararlı olabilir.

Yorumları aşağıdaki formatlarda yazabilirsiniz:

  • Düz Metin (Plain Text) (Varsayılan): Herhangi bir biçimlendirme içermeyen basit metin.
  • Markdown: GFM'nin desteklemediği bazı uzantılar da dahil olmak üzere GitHub'ın Markdown sözdizimlerini 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 Kalıbı

URL kalıpları, Yönlendirme Kaynağı, Hariç Tutulan URL Kalıpları ve Yakalama Grubu İşleme seçeneklerinde URL'leri eşleştirmek için kullanılır. Bunları belirtmek için Joker Karakter (Wildcard) veya Düzenli İfade (Regular Expression) seçebilirsiniz.

Joker Karakter (Wildcard)

Joker Karakter (Wildcard), joker karakter olarak * (herhangi bir şeyle eşleşir) ve ? (tek bir karakterle eşleşir) kullanmanıza olanak tanıyan daha basit bir kalıp türüdür. İşte bazı örnekler:

  • https://example.com/hello ile eşleşmesi için https://example.com/* kullanabilirsiniz. Bu, https://example.com/ sonrasındaki herhangi bir dizeyle eşleşecektir.
  • https://example.com/search?q=hello ile eşleşmesi için https://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şmesi için *blog* kullanabilirsiniz.

Joker Karakter'de de değiştirme (substitution) kullanabilirsiniz, yani $1, $2 vb. kullanarak eşleşen URL'nin bölümlerine atıfta bulunabilirsiniz. Ö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 URL'nin tamamına atıfta bulunmak için $0 da kullanılabilir.

not

Değiştirme (substitution) Düzenli İfade'nin bir özelliği olsa da, RedirectWeb Joker Karakter'i dahili olarak Düzenli İfade'ye dönüştürdüğü için bunu Joker Karakter için de kullanabilirsiniz.

Düzenli İfade (Regular Expression)

Düzenli İfade (Regular Expression) (Regex), metindeki kalıpları 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 kalıp tanımlamanıza olanak tanır. İşte bazı örnekler.

  • https://example.com/hello ile eşleşmesi için https://example.com/.* kullanabilirsiniz. Bu, https://example.com/ sonrasındaki herhangi bir dizeyle eşleşecektir.
  • https://example.com/search?q=hello ile eşleşmesi için https://example.com/search\?q=(.*) kullanabilirsiniz. Bu, q parametresinin değerini eşleştirecek ve onu bir yakalama grubunda saklayacaktır. Daha sonra Yönlendirme Hedefi seçeneğinde $1 kullanarak ona atıfta bulunabilirsiniz.
  • blog kelimesini içeren herhangi bir URL ile eşleşmesi için .*blog.* kullanabilirsiniz.

Yönlendirme Hedefi veya Değiştirme kısımlarında yakalama gruplarına $1, $2, ... kullanarak veya eşleşmenin tamamına atıfta bulunmak için $0 kullanarak atıfta bulunabilirsiniz.

RedirectWeb, Apple'ın Regex motoru tarafından desteklenmektedir.

Regex sözdizimi hakkında daha fazla bilgi RegExr gibi kaynaklarda bulunabilir.