Aloitusopas
Tämä sivu kuvaa yleisiä käyttötapauksia sääntöjen luomiseen Redirect Web -sovelluksessa.
(Voit myös oppia sääntöasetusten yksityiskohdat Sääntöasetukset -sivulta.)
Tapaus 1: Avaa toinen verkkosivusto
Oletetaan, että olet riippuvainen Twitteristä, ja päätät meditoida Insight Timerissä aina, kun vahingossa avaat Twitterin. Luodaan sääntö sitä varten!
Vaihe 1. Määritä "Ohjaa kohteesta"
Ensin sinun tulee määrittää Ohjaa kohteesta -osio sovelluksen Muokkaa sääntöä -näytössä. Kohteet ovat URL-osoitteita, jotka alkavat https://twitter.com/
.
Tässä tapauksessa voit määrittää seuraavan kuvion Wildcard -tilassa:
https://twitter.com/*
Wildcard-tilassa *
tarkoittaa, että se vastaa mitä tahansa (= nolla tai useampi merkki).
Mutta odota. 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
että x.com
.
Tehdäksesi sen, vaihda Wildcardista Säännölliseen lausekkeeseen ja aseta tämä kuvioksi:
https://(twitter|x).com/.*
(twitter|x)
: se kohdistuu sekätwitteriin
ettäx
:ään. (|
on nimeltään putki.).*
: Se on sama kuin Wildcardin*
. Tarkemmin sanottuna.
tarkoittaa mitä tahansa merkkiä ja*
tarkoittaa mitä tahansa ennen tätä symbolia toistettuna minkä tahansa määrän kertoja, mikä johtaa siihen, että se vastaa mitä tahansa.
Säännöllinen lauseke on hieman monimutkainen, mutta kun siihen tottuu, siitä tulee tehokas työkalu. Suosittelemme käyttämään RegExr -sivustoa leikkikenttänä analysoidaksesi, miten säännöllinen lausekekuviosi toimii.
Säännöllisissä lausekkeissa .
kohdassa (twitter|x).com
käsitellään myös mikä tahansa merkki. Siksi (twitter|x).com/.*
vastaa myös esimerkiksi twitter1com/
tai x_com/
.
Välttääksesi sen, voit muuttaa sen muotoon (twitter|x)\.com/.*
. \
käytetään erikoismerkin pakoon.
Yleisessä internet-ympäristössä ei kuitenkaan ole tällaisia URL-osoitteita. Siksi voit jättää .
erikoismerkiksi, jos haluat. Sääntösi on omaan käyttöösi, joten toteuta se parhaaksi katsomallasi tavalla.
Vaihe 2: Määritä "Ohjaa kohteeseen"
Määritä URL-osoite yksinkertaisesti seuraavasti:
https://insighttimer.com/saraauster/guided-meditations/calm
Nyt Redirect Web vie sinut meditaatioon, kun avaat Twitterin!
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 Capturing Group Processing -vaihtoehto on helpoin tapa:
- Ohjaa kohteesta:
https://example.com/*
(Wildcard) - Ohjaa kohteeseen:
$0
- Capturing Group Processing:
- Ryhmä:
$0
- Prosessi: Korvaa esiintymät
- Kohde:
&?source=[^&]*
- Korvaus: (ei mitään)
- Tekstikuvio: Säännöllinen lauseke
- Kohde:
- Ryhmä:
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ää kyselyparametreja URL-osoitteeseen
Sanotaan, että on olemassa verkkosivusto nimeltä example.com
, joka näyttää oletuksena mobiilinäkymän, mutta pidät parempana sen työpöytänäkymää. Onneksi verkkosivusto tukee layout
-kyselyparametria määrittääkseen, minkä asettelun verkkosivusto näyttää. Luodaan sääntö, joka lisää layout=desktop
automaattisesti.
Ehkä ajattelet, että voisit määrittää sen seuraavasti:
- Ohjaa kohteesta:
https://example.com/.*
(Säännöllinen lauseke) - Ohjaa kohteeseen:
$0?layout=desktop
$0
viittaa kohde-URL-osoitteeseen. Jos yrität avata example.com/hello
, sinut ohjataan osoitteeseen example.com/hello?layout=desktop
. Tätä ominaisuutta kutsutaan sijoitukseksi.
Sijoitus on käytettävissä myös Wildcard-tilassa, koska se muunnetaan sisäisesti säännölliseksi lausekkeeksi.
Näissä asetuksissa on kuitenkin muutama ongelma.
Ongelma 1: Ikuinen silmukka
Nykyinen asetus luo äärettömän uudelleenohjaussilmukan, koska https://example.com/.*
kohdistuu myös osoitteeseen https://example.com/hello?layout=desktop
.
Tässä tapauksessa voit määrittää poissuljetun URL-kuvion, joka sallii pääsyn ilman uudelleenohjausta, kuten tämä säännöllisellä lausekkeella:
.*[&?]layout=[^&]*.*
.*
: Vastaa mitä tahansa[&?]
: Vastaa joko&
tai?
[^&]*
: Vastaa mitä tahansa paitsi&
Ongelma 2: Ei voi käsitellä olemassa olevia parametreja oikein
Jos kohde-URL-osoitteessa on jo muita kyselyparametreja, kuten example.com/hello?theme=dark
, kohde on example.com/hello?theme=dark?layout=desktop
(URL-osoitteessa on kaksi ?
), mutta parametrit voi yhdistää vain &
:llä. ?
erikoismerkkinä on sallittu vain parametrien alussa. Siksi sitä ei käsitellä kelvollisena parametrina.
Tässä tapauksessa muuta asetuksia seuraavasti:
- Ohjaa kohteesta:
(https://example.com/[^?]*)(\\?(.*))?
- Ohjaa kohteeseen:
$1?layout=desktop&$3
Katsotaanpa askel askeleelta.
(https://example.com/[^?]*)
: Vastaa osaa ennen?
-merkkiä.[^?]*
vastaa mitä tahansa paitsi?
.- Tämä on kääritty
()
-merkkien sisään, joten voit viitata siihen$1
:llä myöhemmin.
(\\?(.*))?
: Vastaa merkkijonoa, joka alkaa?
:llä, mikä tarkoittaa kyselyparametreja.- Tämä vastaa myös tyhjää merkkijonoa kuvion lopussa olevan
?
-kvantifikaattorin avulla, joka vastaa nolla tai yhden kerran. - Ulompaan
()
ja sisempään()
voidaan viitata$2
:lla ja$3
:lla myöhemmin.
- Tämä vastaa myös tyhjää merkkijonoa kuvion lopussa olevan
RegExr voi auttaa sinua ymmärtämään yksityiskohdat.
RegExr näyttää virheen, kun et pakene /
-merkkiä \
-merkillä. Vaikka voit paeta sitä, se ei ole pakollista, koska Redirect Web käyttää eri Apple-moottoria, joka ei vaadi pakoa.
Tämä ei ole täydellinen ratkaisu, as it redirects example.com/hello
to example.com/hello?layout=desktop&
, which includes an unnecessary &
at the end of the URL. It's not a big deal in general, but if you wish to remove it, you can use Capturing Group Processing.
Yhteenvetona, tämä on lopullinen tulos:
- Ohjaa kohteesta:
(https://example.com/[^?]*)((\\?(.*))?)
(Säännöllinen lauseke) - Ohjaa kohteeseen:
$1?layout=desktop$3
- Poissuljettu URL-kuvio:
.*[&?]layout=[^&]*.*
(Säännöllinen lauseke) - Capturing Group Processing:
- Ryhmä:
$3
- Prosessi: Korvaa esiintymät
- Kohde:
\\?(.*)
- Korvaus:
&$1
- Kohde:
- Ryhmä:
Tämä on vain esimerkki. Voit myös luoda useita sääntöjä kunkin ongelman käsittelemiseksi. Se voi olla paljon yksinkertaisempaa.