Skip to main content

Aloitus

Tämä sivu kuvaa yleisiä käyttötapauksia sääntöjen luomiseen Redirect Web -sovelluksessa.

(Voit oppia sääntöjen asetusten yksityiskohdista Sääntöasetukset-sivulta.)

Tapaus 1: Avaa toinen verkkosivusto

Oletetaan, että olet riippuvainen Twitteristä, ja päätät meditoida Insight Timerissä aina kun avaat vahingossa Twitterin. Luodaan sääntö tälle!

Vaihe 1. Määritä "Uudelleenohjaa mistä"

Ensin sinun tulee määrittää Uudelleenohjaa mistä -osio sovelluksen Muokkaa sääntöä -näytössä. Kohteena ovat URL-osoitteet, jotka alkavat https://twitter.com/.

Tässä tapauksessa voit määrittää seuraavan kuvion Jokerimerkki-tilassa:

https://twitter.com/*

Jokerimerkki-tilassa * tarkoittaa, että se vastaa mitä tahansa (= nolla tai useampi merkki).

Odota kuitenkin. twitter.com nimettiin uudelleen x.com:ksi. Voit yksinkertaisesti korvata twitter.com:n x.com:lla, mutta kukaan ei tiedä, milloin uusi omistaja muuttaa mielensä ja palauttaa sen. Siksi kohdistetaan sekä twitter.com:iin että x.com:iin.

Tehdäksesi tämän, vaihda Jokerimerkistä Säännölliseen lausekkeeseen ja aseta tämä kuvioksi:

https://(twitter|x).com/.*
  • (twitter|x): se kohdistuu sekä twitter:iin että x:ään. (|-merkkiä kutsutaan pystyviivaksi.)
  • .*: Se on sama kuin jokerimerkin *. Tarkemmin sanottuna . tarkoittaa mitä tahansa merkkiä ja * tarkoittaa mitä tahansa ennen tätä symbolia toistettuna useita kertoja, jolloin se vastaa mitä tahansa.

Säännölliset lausekkeet ovat hieman monimutkaisia, mutta kun niihin tottuu, ne ovat tehokas työkalu. Suosittelemme käyttämään RegExr-sivustoa leikkikenttänä säännöllisen lausekkeen kuvion toiminnan analysointiin.

note

Säännöllisissä lausekkeissa . merkissä (twitter|x).com käsitellään myös minkä tahansa merkin tapaan. Siksi (twitter|x).com/.* vastaa myös esimerkiksi twitter1com/ tai x_com/.

Tämän välttämiseksi voit muuttaa sen muotoon (twitter|x)\.com/.*. \-merkkiä käytetään erikoismerkin escapetointiin.

Yleisessä internet-ympäristössä ei kuitenkaan ole tällaisia URL-osoitteita. Siksi voit jättää .-merkin erikoismerkiksi, jos niin haluat. Sääntösi on omaan käyttöösi, joten toteuta se parhaaksi katsomallasi tavalla.

Vaihe 2: Määritä "Uudelleenohjaa kohteeseen"

Määritä URL-osoite yksinkertaisesti seuraavasti:

https://insighttimer.com/saraauster/guided-meditations/calm

Nyt Redirect Web ohjaa sinut meditaatioon aina, kun avaat Twitterin!

⬇️ Lataa sääntö

Tapaus 2: Poista kyselyparametrit URL-osoitteesta

Oletetaan, että example.com-sivuston URL-osoitteessa on kyselyparametri source=twitter, ja päätit poistaa sen anonymisoidaksesi itsesi.

Tässä tapauksessa Ryhmän kaappauksen käsittely -vaihtoehto on helpoin tapa:

  • Uudelleenohjaa mistä: https://example.com/* (Jokerimerkki)
  • Uudelleenohjaa kohteeseen: $0
  • Ryhmän kaappauksen käsittely:
    • Ryhmä: $0
    • Prosessi: Korvaa esiintymät
      • Kohde: &?source=[^&]*
      • Korvaus: (ei mikään)
      • Tekstikuvio: Säännöllinen lauseke

⬇️ Lataa sääntö

Tämä sääntö toimii seuraavasti:

https://example.com/?source=twitter
↪ https://example.com/?

https://example.com/?hello=world&source=twitter&foo=bar
↪ https://example.com/?hello=world&foo=bar

Jos haluat poistaa lisää parametreja, lisää prosesseja.

Tapaus 3: Lisää kyselyparametrit URL-osoitteeseen

Oletetaan, että on verkkosivusto nimeltä example.com, joka näyttää mobiilinäkymän oletuksena, mutta sinä suosit sen työpöytänäkymää. Onneksi verkkosivusto tukee layout-kyselyparametriä, jolla määritellään, minkä asettelun verkkosivusto näyttää. Luodaan sääntö, joka lisää layout=desktop automaattisesti.

Ehkä ajattelet, että voisit määritellä sen seuraavasti:

  • Uudelleenohjaa mistä: https://example.com/.* (Säännöllinen lauseke)
  • Uudelleenohjaa kohteeseen: $0?layout=desktop

$0 viittaa kohde-URL-osoitteeseen. Jos yrität avata example.com/hello, sinut ohjataan uudelleen example.com/hello?layout=desktop-osoitteeseen. Tätä ominaisuutta kutsutaan sijoitukseksi.

tip

Sijoitus on käytettävissä myös Jokerimerkki-tilassa, koska se muunnetaan sisäisesti säännölliseksi lausekkeeksi.

Näissä asetuksissa on kuitenkin muutamia ongelmia.

Ongelma 1: Ikuinen silmukka

Nykyinen asetus luo ikuisen uudelleenohjaussilmukan, koska https://example.com/.* kohdistuu myös https://example.com/hello?layout=desktop-osoitteeseen.

Tässä tapauksessa voit määrittää poissuljetun URL-kuvion, joka sallii pääsyn ilman uudelleenohjausta, näin säännöllisellä lausekkeella:

.*[&?]layout=[^&]*.*
  • .*: Vastaa mitä tahansa
  • [&?]: Vastaa joko &-merkkiä tai ?-merkkiä
  • [^&]*: Vastaa mitä tahansa paitsi &-merkkiä

Ongelma 2: Ei pysty käsittelemään olemassa olevia parametreja oikein

Jos kohde-URL-osoitteessa on jo muita kyselyparametreja, kuten example.com/hello?theme=dark, määränpää on example.com/hello?theme=dark?layout=desktop (URL-osoitteessa on kaksi ?-merkkiä), mutta parametrit voi yhdistää vain &-merkillä. ?-merkki erikoismerkkinä sallitaan vain parametrien alussa. Siksi sitä ei käsitellä kelvollisena parametrina.

Tässä tapauksessa muuta asetuksia näin:

  • Uudelleenohjaa mistä: (https://example.com/[^?]*)(\?(.*))?
  • Uudelleenohjaa kohteeseen: $1?layout=desktop&$3

Tarkastellaan askel askeleelta.

  • (https://example.com/[^?]*): Vastaa osaa aina ?-merkin edelliseen merkkiin asti.
    • [^?]* vastaa mitä tahansa paitsi ?-merkkiä.
    • Tämä on kääritty ()-merkeillä, jotta voit viitata siihen myöhemmin $1-merkillä.
  • (\?(.*))?: Vastaa merkkijonoa, joka alkaa ?-merkillä, mikä tarkoittaa kyselyparametreja.
    • Tämä vastaa myös tyhjää merkkijonoa kuvion lopussa olevalla ?-kvantifikaattorilla, joka vastaa nolla tai yksi kertaa.
    • Ulkempaan ()-merkkiin ja sisempään ()-merkkiin voidaan viitata myöhemmin $2- ja $3-merkeillä.

RegExr voi auttaa sinua ymmärtämään yksityiskohdat.

note

RegExr näyttää virheen, jos et escapea /-merkkiä \-merkillä. Vaikka voit escapetoida sen, sitä ei vaadita, koska Redirect Web käyttää Applen eri moottoria, joka ei vaadi escapetointia.

Tämä ei ole täydellinen ratkaisu, sillä se ohjaa example.com/hello-osoitteen uudelleen example.com/hello?layout=desktop&-osoitteeseen, joka sisältää tarpeettoman &-merkin URL-osoitteen lopussa. Se ei ole yleensä suuri ongelma, mutta jos haluat poistaa sen, voit käyttää Ryhmän kaappauksen käsittelyä.

Yhteenvetona, tämä on lopullinen tulos:

  • Uudelleenohjaa mistä: (https://example.com/[^?]*)((\?(.*))?) (Säännöllinen lauseke)
  • Uudelleenohjaa kohteeseen: $1?layout=desktop$3
  • Poissuljettu URL-kuvio: .*[&?]layout=[^&]*.* (Säännöllinen lauseke)
  • Ryhmän kaappauksen käsittely:
    • Ryhmä: $3
    • Prosessi: Korvaa esiintymät
      • Kohde: \?(.*)
      • Korvaus: &$1

⬇️ Lataa sääntö

Tämä on vain esimerkki. Voit myös luoda useita sääntöjä kunkin ongelman käsittelemiseksi. Se voi olla paljon yksinkertaisempaa.