Başlarken
Bu sayfa, Redirect Web uygulamasında kural oluşturmak için yaygın kullanım durumlarını açıklar.
(Kural ayarlarının ayrıntılarını Kural Ayarları sayfasında da öğrenebilirsiniz.)
Durum 1: Başka bir web sitesini açın
Twitter bağımlısı olduğunuzu ve Twitter'ı yanlışlıkla açtığınızda Insight Timer'da meditasyon yapmaya karar verdiğinizi varsayalım. Bunun için bir kural oluşturalım!
Adım 1. "Şuradan Yönlendir"i ayarlayın
İlk olarak, uygulamadaki Kuralı Düzenle ekranında Şuradan Yönlendir bölümünü ayarlamalısınız. Hedefler https://twitter.com/
ile başlayan URL'lerdir.
Bu durumda, Joker Karakter moduyla aşağıdaki deseni belirtebilirsiniz:
https://twitter.com/*
Joker Karakter modunda, *
herhangi bir şeyi (= sıfır veya daha fazla karakter) eşleştirdiği anlamına gelir.
Ancak, durun. twitter.com
adı x.com
olarak değiştirildi. twitter.com
'u x.com
ile kolayca değiştirebilirsiniz, ancak yeni sahibinin ne zaman fikrini değiştirip geri alacağını kimse bilmiyor. Bu nedenle, hem twitter.com
hem de x.com
'u hedefleyelim.
Bunu yapmak için, Joker Karakter'den Normal İfade'ye geçin ve deseni şu şekilde ayarlayın:
https://(twitter|x).com/.*
(twitter|x)
: hemtwitter
hem dex
'i hedefler. (|
bir boru olarak adlandırılır.).*
: Joker Karakter'in*
'ı ile aynıdır. Daha spesifik olarak,.
herhangi bir karakter anlamına gelir ve*
bu sembolden önceki herhangi bir şeyin herhangi bir sayıda tekrarlandığı anlamına gelir, bu da herhangi bir şeyi eşleştirmesiyle sonuçlanır.
Normal İfade biraz karmaşıktır, ancak bir kez alıştığınızda güçlü bir araç olacaktır. Normal İfade deseninizin nasıl çalıştığını analiz etmek için bir oyun alanı olarak RegExr'ı kullanmanızı öneririz.
Normal İfadelerde, (twitter|x).com
içindeki .
da herhangi bir karakter olarak kabul edilir. Bu nedenle, (twitter|x).com/.*
ayrıca, örneğin twitter1com/
veya x_com/
ile de eşleşir.
Bunu önlemek için, (twitter|x)\.com/.*
olarak değiştirebilirsiniz. \
özel bir karakteri kaçırmak için kullanılır.
Ancak, genel internet ortamında böyle URL'ler yoktur. Bu nedenle, isterseniz .
'ı özel bir karakter olarak bırakabilirsiniz. Kuralınız kendi kullanımınız içindir, bu yüzden uygun gördüğünüz şekilde uygulayın.
Adım 2: "Şuraya Yönlendir"i ayarlayın
URL'yi aşağıdaki gibi belirtmeniz yeterlidir:
https://insighttimer.com/saraauster/guided-meditations/calm
Artık, Twitter'a eriştiğinizde Redirect Web sizi meditasyona götürüyor!
Durum 2: URL'den Sorgu Parametrelerini Kaldırın
example.com
URL'sinde source=twitter
sorgu parametresi olduğunu ve kendinizi anonimleştirmek için onu kaldırmaya karar verdiğinizi varsayalım.
Bu durumda, Yakalama Grubu İşleme seçeneği en kolay yoldur:
- Şuradan Yönlendir:
https://example.com/*
(Joker Karakter) - Şuraya Yönlendir:
$0
- Yakalama Grubu İşleme:
- Grup:
$0
- İşlem: Oluşumları Değiştir
- Hedef:
&?source=[^&]*
- Değiştirme: (yok)
- Metin Deseni: Normal İfade
- Hedef:
- Grup:
Bu kural şu şekilde çalışır:
https://example.com/?source=twitter
↪ https://example.com/?
https://example.com/?hello=world&source=twitter&foo=bar
↪ https://example.com/?hello=world&foo=bar
Daha fazla parametre kaldırmak isterseniz, daha fazla işlem ekleyin.
Durum 3: URL'ye Sorgu Parametreleri Ekleyin
Varsayılan olarak mobil düzen gösteren example.com
adlı bir web sitesi olduğunu varsayalım, ancak masaüstü düzenini tercih ediyorsunuz. Neyse ki, web sitesi hangi düzeni görüntülediğini belirtmek için bir layout
sorgu parametresini destekliyor. Otomatik olarak layout=desktop
ekleyen bir kural oluşturalım.
Belki de bunu aşağıdaki gibi tanımlayabileceğinizi düşünüyorsunuz:
- Şuradan Yönlendir:
https://example.com/.*
(Normal İfade) - Şuraya Yönlendir:
$0?layout=desktop
$0
hedef URL'ye başvurur. example.com/hello
adresine erişmeye çalışırsanız, example.com/hello?layout=desktop
adresine yönlendirilirsiniz. Bu özelliğe yerine koyma denir.
Yerine koyma, dahili olarak Normal İfadeye dönüştürüldüğü için Joker Karakter modu için de mevcuttur.
Ancak, bu ayarlarla ilgili birkaç sorun var.
Sorun 1: Sonsuz döngü
Mevcut ayar, https://example.com/.*
aynı zamanda https://example.com/hello?layout=desktop
'u da hedeflediği için sonsuz bir yönlendirme döngüsü oluşturur.
Bu durumda, Normal İfade ile şöyle bir yönlendirme olmadan erişmenizi sağlayan bir hariç tutulan URL deseni belirtebilirsiniz:
.*[&?]layout=[^&]*.*
.*
: Herhangi bir şeyi eşleştirir[&?]
:&
veya?
'yi eşleştirir[^&]*
:&
dışındaki herhangi bir şeyi eşleştirir
Sorun 2: Mevcut parametreleri düzgün bir şekilde işleyemiyor
Hedef URL zaten example.com/hello?theme=dark
gibi başka sorgu parametrelerine sahipse, hedef example.com/hello?theme=dark?layout=desktop
olacaktır (URL'de iki ?
var) ancak parametreleri yalnızca &
ile birleştirebilirsiniz. ?
özel bir karakter olarak yalnızca parametrelerin başında izin verilir. Bu nedenle geçerli bir parametre olarak kabul edilmez.
Bu durumda, ayarları şöyle değiştirin:
- Şuradan Yönlendir:
(https://example.com/[^?]*)(\(?(.*))?
- Şuraya Yönlendir:
$1?layout=desktop&$3
Adım adım inceleyelim.
(https://example.com/[^?]*)
:?
'nin önceki karakterine kadar olan kısmı eşleştirir.[^?]*
?
dışındaki herhangi bir şeyi eşleştirir.- Bu
()
ile sarılmıştır, böylece daha sonra$1
ile başvurabilirsiniz.
(\(?(.*))?)
:?
ile başlayan bir dizeyi eşleştirir, bu da sorgu parametreleri anlamına gelir.- Bu aynı zamanda desenin sonundaki
?
niceleyicisi ile boş dizeyi de eşleştirir, bu da sıfır veya bir kez eşleşir anlamına gelir. - Dış
()
ve iç()
daha sonra$2
ve$3
ile başvurulabilir.
- Bu aynı zamanda desenin sonundaki
RegExr ayrıntıları anlamanıza yardımcı olabilir.
RegExr, /
'yi \
ile kaçırmadığınızda bir hata gösterir. Kaçırabilseniz de, Redirect Web'in kaçırma gerektirmeyen Apple tarafından farklı bir motor kullandığı için gerekli değildir.
Bu mükemmel bir çözüm değildir, çünkü example.com/hello
adresini example.com/hello?layout=desktop&
adresine yönlendirir, bu da URL'nin sonunda gereksiz bir &
içerir. Genelde büyük bir sorun değildir, ancak kaldırmak isterseniz, Yakalama Grubu İşleme kullanabilirsiniz.
Sonuç olarak, nihai çıktı şudur:
- Şuradan Yönlendir:
(https://example.com/[^?]*)((\(?(.*))?))
(Normal İfade) - Şuraya Yönlendir:
$1?layout=desktop$3
- Hariç Tutulan URL Deseni:
.*[&?]layout=[^&]*.*
(Normal İfade) - Yakalama Grubu İşleme:
- Grup:
$3
- İşlem: Oluşumları Değiştir
- Hedef:
\?(.*)
- Değiştirme:
&$1
- Hedef:
- Grup:
Bu sadece bir örnektir. Her sorunu çözmek için birden fazla kural da oluşturabilirsiniz. Çok daha basit olabilir.