Alustamine
See leht kirjeldab levinud kasutusjuhtumeid reeglite loomiseks rakenduses Redirect Web.
(Reegliseadete üksikasjadega saate tutvuda ka lehel Reegliseaded.)
Juhtum 1: Ava teine veebisait
Oletame, et olete Twitterist sõltuvuses ja otsustate mediteerida Insight Timeris iga kord, kui kogemata Twitteri avate. Loome selleks reegli!
1. samm. Seadista "Redirect From"
Kõigepealt peaksite rakenduses Edit Rule ekraanil seadistama jaotise Redirect From. Sihtkohad on URL-id, mis algavad https://twitter.com/
.
Sel juhul saate Wildcard režiimiga määrata järgmise mustri:
https://twitter.com/*
Wildcard režiimis tähendab *
seda, et see sobitub mis tahes (= null või rohkem märki).
Kuid oot-oot. twitter.com
nimetati ümber x.com
-iks. Saate lihtsalt asendada twitter.com
-i x.com
-iga, kuid keegi ei tea, millal uus omanik oma meelt uuesti muudab, et see tagasi pöörata. Seetõttu sihtime nii twitter.com
-i kui ka x.com
-i.
Selleks lülitage Wildcardilt Regular Expression-ile ja määrake see mustriks:
https://(twitter|x).com/.*
(twitter|x)
: see sihib niitwitter
-it kui kax
-i. (|
nimetatakse toruks.).*
: see on sama mis Wildcardi*
. Täpsemalt,.
tähendab mis tahes märki ja*
tähendab kõike enne seda sümbolit, mis on kordunud mis tahes arv kordi, mistõttu see sobib kõigele.
Regulaaravaldised on pisut keerulised, kuid kui olete nendega harjunud, on see võimas tööriist. Soovitame kasutada RegExr-i kui mänguväljakut, et analüüsida, kuidas teie regulaaravaldise muster töötab.
Regulaaravaldistes käsitletakse .
-i (twitter|x).com
-is ka kui mis tahes märki. Seega sobib (twitter|x).com/.*
ka näiteks twitter1com/
või x_com/
.
Selle vältimiseks saate selle muuta (twitter|x)\.com/.*
-iks. \
-i kasutatakse erimärgi tühistamiseks.
Kuid üldises internetikeskkonnas selliseid URL-e ei ole. Seega võite jätta .
erimärgina, kui eelistate. Teie reegel on teie enda tarbeks, seega rakendage seda nii, nagu teile sobib.
2. samm: Seadista "Redirect To"
Määrake URL lihtsalt järgmiselt:
https://insighttimer.com/saraauster/guided-meditations/calm
Nüüd viib Redirect Web teid Twitterile ligi pääsedes meditatsioonile!
Juhtum 2: Kustuta URL-ist päringuparameetrid
Oletame, et URL-is example.com
on päringuparameeter source=twitter
ja otsustate selle eemaldada, et ennast anonüümseks muuta.
Sel juhul on Capturing Group Processing valik kõige lihtsam viis:
- Redirect From:
https://example.com/*
(Wildcard) - Redirect To:
$0
- Capturing Group Processing:
- Group:
$0
- Process: Replace Occurrences
- Target:
&?source=[^&]*
- Replacement: (puudub)
- Text Pattern: Regular Expression
- Target:
- Group:
See reegel töötab järgmiselt:
https://example.com/?source=twitter
↪ https://example.com/?
https://example.com/?hello=world&source=twitter&foo=bar
↪ https://example.com/?hello=world&foo=bar
Kui soovite eemaldada rohkem parameetreid, lisage rohkem protsesse.
Juhtum 3: Lisa URL-ile päringuparameetrid
Oletame, et on veebisait nimega example.com
, mis näitab vaikimisi mobiilset paigutust, kuid te eelistate selle töölaua paigutust. Õnneks toetab veebisait päringuparameetrit layout
, et määrata, millist paigutust veebisait kuvab. Loome reegli, mis lisab automaatselt layout=desktop
.
Võib-olla arvate, et saate selle määratleda järgmiselt:
- Redirect From:
https://example.com/.*
(Regular Expression) - Redirect To:
$0?layout=desktop
$0
viitab siht-URL-ile. Kui proovite avada example.com/hello
, suunatakse teid ümber aadressile example.com/hello?layout=desktop
. Seda funktsiooni nimetatakse asendamiseks.
Asendamine on saadaval ka Wildcard režiimis, kuna see teisendatakse sisemiselt regulaaravaldiseks.
Kuid nende sätetega on mõned probleemid.
Probleem 1: Lõputu tsükkel
Praegune säte loob lõputu ümbersuunamise tsükli, kuna https://example.com/.*
sihib ka https://example.com/hello?layout=desktop
.
Sel juhul saate määrata välistatud URL-i mustri, mis võimaldab teil ligi pääseda ilma ümbersuunamiseta, näiteks regulaaravaldisega:
.*[&?]layout=[^&]*.*
.*
: Sobib kõigele[&?]
: Sobib kas&
-le või?
-le[^&]*
: Sobib kõigele peale&
Probleem 2: Ei saa olemasolevaid parameetreid õigesti käsitleda
Kui siht-URL-il on juba teisi päringuparameetreid nagu example.com/hello?theme=dark
, on sihtkohaks example.com/hello?theme=dark?layout=desktop
(URL-is on kaks ?
), kuid parameetreid saate ühendada ainult &
-iga. ?
kui erimärk on lubatud ainult parameetrite alguses. Seega seda ei käsitleta kehtiva parameetrina.
Sel juhul muutke sätteid nii:
- Redirect From:
(https://example.com/[^?]*)(\?(.*))?
- Redirect To:
$1?layout=desktop&$3
Vaatame samm-sammult.
(https://example.com/[^?]*)
: Sobib osale kuni?
eelneva märgini.[^?]*
sobib kõigele peale?
.- See on ümbritsetud
()
-ga, nii et saate sellele hiljem viidata$1
-ga.
(\?(.*))?
: Sobib stringile, mis algab?
-ga, mis tähendab päringuparameetreid.- See sobib ka tühjale stringile mustri lõpus oleva
?
kvantifikaatori abil, mis sobib null või ühe korra. - Välistele
()
-le ja sisemistele()
-le saab hiljem viidata$2
ja$3
-ga.
- See sobib ka tühjale stringile mustri lõpus oleva
RegExr võib aidata teil üksikasju mõista.
RegExr näitab viga, kui te /
-i \
-ga ei tühista. Kuigi saate seda tühistada, ei ole see nõutav, kuna Redirect Web kasutab teist Apple'i mootorit, mis ei nõua tühistamist.
See ei ole täiuslik lahendus, kuna see suunab example.com/hello
ümber example.com/hello?layout=desktop&
-i, mis sisaldab URL-i lõpus ebavajalikku &
. See ei ole üldiselt suur probleem, kuid kui soovite seda eemaldada, saate kasutada Capturing Group Processing-it.
Kokkuvõttes on see lõplik väljund:
- Redirect From:
(https://example.com/[^?]*)((\?(.*))?)
(Regular Expression) - Redirect To:
$1?layout=desktop$3
- Excluded URL Pattern:
.*[&?]layout=[^&]*.*
(Regular Expression) - Capturing Group Processing:
- Group:
$3
- Process: Replace Occurrences
- Target:
\?(.*)
- Replacement:
&$1
- Target:
- Group:
See on kõigest näide. Võite luua ka mitu reeglit iga probleemi käsitlemiseks. See võib olla palju lihtsam.