Hop til hovedindhold

Kom godt i gang

Denne side beskriver almindelige brugssituationer for oprettelse af regler i Redirect Web-appen.

(Du kan også lære detaljerne om regelindstillinger på siden Regelindstillinger.)

Tilfælde 1: Åbn et andet websted

Antag at du er afhængig af Twitter, og du beslutter dig for at meditere i Insight Timer, hver gang du ved et uheld åbner Twitter. Lad os oprette en regel for det!

Trin 1. Opsæt "Omdiriger fra"

Først skal du opsætte Omdiriger fra-sektionen på skærmen Rediger regel i appen. Målene er URL'er, der starter med https://twitter.com/.

I dette tilfælde kan du angive følgende mønster med Wildcard-tilstanden:

https://twitter.com/*

I Wildcard-tilstanden betyder *, at det matcher alt (= nul eller flere tegn).

Men vent. twitter.com blev omdøbt til x.com. Du kan blot erstatte twitter.com med x.com, men ingen ved, hvornår den nye ejer igen vil ændre mening og rulle det tilbage. Derfor vil vi målrette både twitter.com og x.com.

For at gøre det, skift fra Wildcard til Regulært udtryk, og indstil dette som mønsteret:

https://(twitter|x).com/.*
  • (twitter|x): det målretter både twitter og x. (| kaldes en pipe.)
  • .*: Det er det samme som Wildcard's *. Mere specifikt betyder . ethvert tegn, og * betyder alt før dette symbol gentaget et vilkårligt antal gange, hvilket resulterer i, at det matcher alt.

Regulære udtryk er lidt komplicerede, men når du først vænner dig til dem, vil de være et kraftfuldt værktøj. Vi anbefaler at bruge RegExr som en legeplads til at analysere, hvordan dit regulære udtryksmønster fungerer.

note

I regulære udtryk behandles . i (twitter|x).com også som ethvert tegn. Derfor matcher (twitter|x).com/.* også for eksempel twitter1com/ eller x_com/.

For at undgå det kan du ændre det til (twitter|x)\.com/.*. \ bruges til at escapescape et specialtegn.

Der findes dog ikke sådanne URL'er i det generelle internetmiljø. Derfor kan du lade . være et specialtegn, hvis du foretrækker det. Din regel er til din egen brug, så implementer den, som du finder passende.

Trin 2: Opsæt "Omdiriger til"

Angiv blot URL'en som følger:

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

Nu bringer Redirect Web dig til meditationen, når du åbner Twitter!

⬇️ Download reglen

Tilfælde 2: Fjern forespørgselsparametre fra URL

Antag at der er en forespørgselsparameter source=twitter i en URL på example.com, og du har besluttet at fjerne den for at anonymisere dig selv.

I dette tilfælde er indstillingen Behandling af indfangende gruppe den nemmeste måde:

  • Omdiriger fra: https://example.com/* (Wildcard)
  • Omdiriger til: $0
  • Behandling af indfangende gruppe:
    • Gruppe: $0
    • Proces: Erstat forekomster
      • Mål: &?source=[^&]*
      • Erstatning: (ingen)
      • Tekstmønster: Regulært udtryk

⬇️ Download reglen

Denne regel fungerer som følger:

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

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

Hvis du vil fjerne flere parametre, skal du tilføje flere processer.

Tilfælde 3: Tilføj forespørgselsparametre til URL

Lad os sige, at der er et websted kaldet example.com, der som standard viser et mobil-layout, men du foretrækker deres desktop-layout. Heldigvis understøtter webstedet en layout-forespørgselsparameter til at angive, hvilket layout webstedet skal vise. Lad os oprette en regel, der automatisk tilføjer layout=desktop.

Måske tænker du, at du kunne definere det som følger:

  • Omdiriger fra: https://example.com/.* (Regulært udtryk)
  • Omdiriger til: $0?layout=desktop

$0 refererer til mål-URL'en. Hvis du forsøger at tilgå example.com/hello, bliver du omdirigeret til example.com/hello?layout=desktop. Denne funktion kaldes substitution.

tip

Substitution er også tilgængelig for Wildcard-tilstanden, da den internt konverteres til et regulært udtryk.

Der er dog et par problemer med disse indstillinger.

Problem 1: Uendeligt loop

Den nuværende indstilling skaber et uendeligt omdirigeringsloop, da https://example.com/.* også målretter https://example.com/hello?layout=desktop.

I dette tilfælde kan du angive et udelukket URL-mønster, der giver dig adgang uden omdirigering, som dette med et regulært udtryk:

.*[&?]layout=[^&]*.*
  • .*: Matcher alt
  • [&?]: Matcher enten & eller ?
  • [^&]*: Matcher alt undtagen &

Problem 2: Kan ikke håndtere eksisterende parametre korrekt

Hvis mål-URL'en allerede har andre forespørgselsparametre som example.com/hello?theme=dark, vil destinationen være example.com/hello?theme=dark?layout=desktop (Der er to ? i URL'en), men du kan kun forbinde parametrene med &. ? som et specialtegn er kun tilladt i begyndelsen af parametrene. Så det behandles ikke som en gyldig parameter.

I dette tilfælde skal du ændre indstillingerne som følger:

  • Omdiriger fra: (https://example.com/[^?]*)(\?(.*))?
  • Omdiriger til: $1?layout=desktop&$3

Lad os se på det trin for trin.

  • (https://example.com/[^?]*): Matcher den del, der går forud for tegnet ?.
    • [^?]* matcher alt undtagen ?.
    • Dette er pakket ind i (), så du kan referere til det med $1 senere.
  • (\?(.*))?: Matcher en streng, der starter med ?, hvilket betyder forespørgselsparametre.
    • Dette matcher også en tom streng af ?-kvantoren i slutningen af mønsteret, som matcher nul eller én gang.
    • Den ydre () og den indre () kan der refereres til med $2 og $3 senere.

RegExr kan hjælpe dig med at forstå detaljerne.

note

RegExr viser en fejl, når du ikke escapescaper / med \. Selvom du kan escapescape det, er det ikke påkrævet, da Redirect Web bruger en anden motor fra Apple, der ikke kræver escaping.

Dette er ikke en perfekt løsning, da den omdirigerer example.com/hello til example.com/hello?layout=desktop&, som indeholder et unødvendigt & i slutningen af URL'en. Det er generelt ikke et stort problem, men hvis du ønsker at fjerne det, kan du bruge Behandling af indfangende gruppe.

Afslutningsvis er dette det endelige resultat:

  • Omdiriger fra: (https://example.com/[^?]*)((\?(.*))?) (Regulært udtryk)
  • Omdiriger til: $1?layout=desktop$3
  • Udelukket URL-mønster: .*[&?]layout=[^&]*.* (Regulært udtryk)
  • Behandling af indfangende gruppe:
    • Gruppe: $3
    • Proces: Erstat forekomster
      • Mål: \?(.*)
      • Erstatning: &$1

⬇️ Download reglen

Dette er blot et eksempel. Du kan også oprette flere regler for at håndtere hvert problem. Det kan være meget enklere.