Liigu peamise sisu juurde

Alustamine

See leht kirjeldab Redirect Webi rakenduses reeglite loomise levinud kasutusjuhtumeid.

(Reegliseadete üksikasju saate teada ka lehel Reegliseaded.)

Juhtum 1: Ava teine veebisait

Oletame, et olete Twitterist sõltuvuses ja otsustate mediteerida Insight Timeris iga kord, kui Twitteri kogemata avate. Loome selleks reegli!

1. samm. Seadista "Suuna alates"

Kõigepealt peaksite rakenduses "Reegli muutmine" ekraanil seadistama jaotise Suuna alates. Sihtmärgid on URL-id, mis algavad https://twitter.com/.

Sel juhul saate määrata järgmise mustri metamärgi režiimis:

https://twitter.com/*

Metamärgi režiimis tähendab *, et see vastab kõigele (= null või rohkem märki).

Kuid oodake. twitter.com nimetati ümber x.com-iks. Saate lihtsalt asendada twitter.com 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 metamärgist regulaaravaldisele ja määrake see mustriks:

https://(twitter|x).com/.*
  • (twitter|x): see sihib nii twitter-it kui ka x-i. (| nimetatakse toruks.)
  • .*: See on sama mis metamärgi *. Täpsemalt, . tähendab mis tahes märki ja * tähendab kõike enne seda sümbolit korratud mis tahes arv kordi, mille tulemuseks on see, et see vastab kõigele.

Regulaaravaldised on veidi keerulised, kuid kui olete nendega harjunud, on see võimas tööriist. Soovitame kasutada RegExr-i mänguväljakuna, et analüüsida, kuidas teie regulaaravaldise muster töötab.

teade

Regulaaravaldistes käsitletakse .-i (twitter|x).com-is ka kui mis tahes märki. Seetõttu vastab (twitter|x).com/.* ka näiteks twitter1com/ või x_com/.

Selle vältimiseks saate selle muuta (twitter|x)\.com/.*-iks. \ kasutatakse erimärgi tühistamiseks.

Kuid üldises internetikeskkonnas selliseid URL-e pole. Seetõttu võite jätta .-i erimärgiks, kui eelistate. Teie reegel on teie enda kasutamiseks, seega rakendage seda vastavalt oma äranägemisele.

2. samm: Seadista "Suuna asukohta"

Määrake lihtsalt URL järgmiselt:

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

Nüüd viib Redirect Web teid Twitterisse sisenedes meditatsiooni juurde!

⬇️ Laadi reegel alla

Juhtum 2: Eemalda URL-ist päringuparameetrid

Oletame, et example.com-i URL-is on päringuparameeter source=twitter, ja te otsustasite selle eemaldada, et ennast anonüümseks muuta.

Sel juhul on püüdurrühma töötlemise valik kõige lihtsam viis:

  • Suuna alates: https://example.com/* (metamärk)
  • Suuna asukohta: $0
  • Püüdurrühma töötlemine:
    • Rühm: $0
    • Protsess: Asenda esinemised
      • Sihtmärk: &?source=[^&]*
      • Asendus: (puudub)
      • Tekstimuster: regulaaravaldis

⬇️ Laadi reegel alla

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 olemas veebisait nimega example.com, mis näitab vaikimisi mobiilset paigutust, kuid te eelistate nende töölaua paigutust. Õnneks toetab veebisait layout päringuparameetrit, 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:

  • Suuna alates: https://example.com/.* (regulaaravaldis)
  • Suuna asukohta: $0?layout=desktop

$0 viitab siht-URL-ile. Kui proovite avada example.com/hello, suunatakse teid ümber example.com/hello?layout=desktop-ile. Seda funktsiooni nimetatakse asenduseks.

nõuanne

Asendus on saadaval ka metamärgi režiimis, kuna see teisendatakse sisemiselt regulaaravaldiseks.

Kuid nende seadetega on paar probleemi.

Probleem 1: Lõputu tsükkel

Praegune seade loob lõputu ümbersuunamise tsükli, kuna https://example.com/.* sihib ka https://example.com/hello?layout=desktop-i.

Sel juhul saate määrata välistatud URL-i mustri, mis võimaldab teil juurdepääsu ilma ümbersuunamiseta, näiteks regulaaravaldise abil:

.*[&?]layout=[^&]*.*
  • .*: Vastab kõigele
  • [&?]: Vastab kas & või ?
  • [^&]*: Vastab kõigele, välja arvatud &

Probleem 2: Ei saa olemasolevaid parameetreid õigesti käsitleda

Kui siht-URL-il on juba teisi päringuparameetreid, näiteks example.com/hello?theme=dark, on sihtkoht example.com/hello?theme=dark?layout=desktop (URL-is on kaks ?), kuid parameetreid saab ühendada ainult &-ga. ? kui erimärk on lubatud ainult parameetrite alguses. Seega ei käsitleta seda kehtiva parameetrina.

Sel juhul muutke seadeid järgmiselt:

  • Suuna alates: (https://example.com/[^?]*)(\(.*\))?
  • Suuna asukohta: $1?layout=desktop&$3

Vaatame samm-sammult.

  • (https://example.com/[^?]*): Vastab osale kuni ?-i eelneva märgini.
    • [^?]* vastab kõigele, välja arvatud ?.
    • See on ümbritsetud ()-ga, nii et saate sellele hiljem $1-ga viidata.
  • (\(.*\))?: Vastab stringile, mis algab ?-ga, mis tähendab päringuparameetreid.
    • See vastab ka tühjale stringile mustri lõpus oleva ? kvantifikaatori abil, mis vastab null või üks kord.
    • Välimisele ()-le ja sisemisele ()-le saab hiljem viidata $2 ja $3-ga.

RegExr võib aidata teil üksikasju mõista.

teade

RegExr näitab viga, kui te ei tühista /-i \-ga. Kuigi saate seda tühistada, pole see nõutav, kuna Redirect Web kasutab Apple'i teist 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&-ile, mis sisaldab URL-i lõpus ebavajalikku &-i. See ei ole üldiselt suur probleem, kuid kui soovite seda eemaldada, saate kasutada püüdurrühma töötlemist.

Kokkuvõttes on see lõplik väljund:

  • Suuna alates: (https://example.com/[^?]*)((\(.*\))?) (regulaaravaldis)
  • Suuna asukohta: $1?layout=desktop$3
  • Välistatud URL-i muster: .*[&?]layout=[^&]*.* (regulaaravaldis)
  • Püüdurrühma töötlemine:
    • Rühm: $3
    • Protsess: Asenda esinemised
      • Sihtmärk: \?(.*)
      • Asendus: &$1

⬇️ Laadi reegel alla

See on vaid näide. Saate luua ka mitu reeglit iga probleemi käsitlemiseks. See võib olla palju lihtsam.