Zum Hauptinhalt springen

Erste Schritte

Diese Seite beschreibt gängige Anwendungsfälle zum Erstellen von Regeln in der Redirect Web App.

(Details zu den Regeleinstellungen finden Sie auch auf der Seite Regeleinstellungen.)

Fall 1: Eine andere Webseite öffnen

Angenommen, Sie sind Twitter-süchtig und beschließen, in Insight Timer zu meditieren, wann immer Sie versehentlich Twitter öffnen. Erstellen wir dafür eine Regel!

Schritt 1: "Umleiten von" einrichten

Zuerst sollten Sie den Abschnitt Umleiten von im Bildschirm Regel bearbeiten in der App einrichten. Die Ziele sind URLs, die mit https://twitter.com/ beginnen.

In diesem Fall können Sie das folgende Muster mit dem Wildcard-Modus angeben:

https://twitter.com/*

Im Wildcard-Modus bedeutet *, dass es alles Übereinstimmt (= null oder mehr Zeichen).

Aber Moment mal. twitter.com wurde in x.com umbenannt. Sie können twitter.com einfach durch x.com ersetzen, aber niemand weiß, wann der neue Besitzer seine Meinung wieder ändern wird, um es rückgängig zu machen. Daher zielen wir auf twitter.com und x.com.

Um dies zu tun, wechseln Sie von Wildcard zu Regulärer Ausdruck und legen Sie dies als Muster fest:

https://(twitter|x).com/.*
  • (twitter|x): Es zielt sowohl auf twitter als auch auf x. (| wird ein Pipe genannt.)
  • .*: Es ist dasselbe wie Wildcard's *. Genauer gesagt bedeutet . jedes Zeichen und * bedeutet alles vor diesem Symbol, das beliebig oft wiederholt wird, was dazu führt, dass es alles übereinstimmt.

Reguläre Ausdrücke sind etwas kompliziert, aber sobald Sie sich daran gewöhnt haben, werden sie ein mächtiges Werkzeug sein. Wir empfehlen die Verwendung von RegExr als Spielplatz, um zu analysieren, wie Ihr reguläres Ausdrucksmuster funktioniert.

hinweis

In regulären Ausdrücken wird . in (twitter|x).com auch als jedes Zeichen behandelt. Daher stimmt (twitter|x).com/.* auch mit beispielsweise twitter1com/ oder x_com/ überein.

Um dies zu vermeiden, können Sie es in (twitter|x)\.com/.* ändern. \ wird verwendet, um ein Sonderzeichen zu escapen.

Es gibt jedoch keine solchen URLs in der allgemeinen Internetumgebung. Daher können Sie . als Sonderzeichen belassen, wenn Sie dies bevorzugen. Ihre Regel ist für Ihren eigenen Gebrauch, also implementieren Sie sie nach Belieben.

Schritt 2: "Umleiten nach" einrichten

Geben Sie einfach die URL wie folgt an:

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

Jetzt bringt Sie Redirect Web zur Meditation, wenn Sie auf Twitter zugreifen!

⬇️ Regel herunterladen

Fall 2: Abfrageparameter aus der URL entfernen

Angenommen, es gibt einen Abfrageparameter source=twitter in einer URL von example.com, und Sie haben beschlossen, ihn zu entfernen, um sich zu anonymisieren.

In diesem Fall ist die Option Erfassungsgruppenverarbeitung der einfachste Weg:

  • Umleiten von: https://example.com/* (Wildcard)
  • Umleiten nach: $0
  • Erfassungsgruppenverarbeitung:
    • Gruppe: $0
    • Prozess: Vorkommen ersetzen
      • Ziel: &?source=[^&]*
      • Ersetzung: (keine)
      • Textmuster: Regulärer Ausdruck

⬇️ Regel herunterladen

Diese Regel funktioniert wie folgt:

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

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

Wenn Sie weitere Parameter entfernen möchten, fügen Sie weitere Prozesse hinzu.

Fall 3: Abfrageparameter zur URL hinzufügen

Nehmen wir an, es gibt eine Webseite namens example.com, die standardmäßig ein mobiles Layout anzeigt, Sie aber ihr Desktop-Layout bevorzugen. Glücklicherweise unterstützt die Webseite einen Abfrageparameter layout, um anzugeben, welches Layout die Webseite anzeigt. Erstellen wir eine Regel, die layout=desktop automatisch hinzufügt.

Vielleicht denken Sie, Sie könnten es wie folgt definieren:

  • Umleiten von: https://example.com/.* (Regulärer Ausdruck)
  • Umleiten nach: $0?layout=desktop

$0 verweist auf die Ziel-URL. Wenn Sie versuchen, auf example.com/hello zuzugreifen, werden Sie zu example.com/hello?layout=desktop umgeleitet. Diese Funktion wird Substitution genannt.

tipp

Substitution ist auch für den Wildcard-Modus verfügbar, da er intern in einen regulären Ausdruck umgewandelt wird.

Es gibt jedoch einige Probleme mit diesen Einstellungen.

Problem 1: Endlosschleife

Die aktuelle Einstellung erzeugt eine unendliche Umleitungsschleife, da https://example.com/.* auch auf https://example.com/hello?layout=desktop abzielt.

In diesem Fall können Sie ein ausgeschlossenes URL-Muster angeben, das Ihnen den Zugriff ohne Umleitung ermöglicht, wie hier mit regulärem Ausdruck:

.*[&?]layout=[^&]*.*
  • .*: Passt zu allem
  • [&?]: Passt zu & oder ?
  • [^&]*: Passt zu allem außer &

Problem 2: Vorhandene Parameter können nicht richtig verarbeitet werden

Wenn die Ziel-URL bereits andere Abfrageparameter wie example.com/hello?theme=dark enthält, lautet das Ziel example.com/hello?theme=dark?layout=desktop (Es gibt zwei ? in der URL), aber Sie können die Parameter nur mit & verbinden. ? als Sonderzeichen ist nur am Anfang der Parameter erlaubt. Es wird also nicht als gültiger Parameter behandelt.

In diesem Fall ändern Sie die Einstellungen wie folgt:

  • Umleiten von: (https://example.com/[^?]*)(\\?(.*))?
  • Umleiten nach: $1?layout=desktop&$3

Schauen wir uns das Schritt für Schritt an.

  • (https://example.com/[^?]*): Passt zum Teil bis zum vorherigen Zeichen von ?.
    • [^?]* passt zu allem außer ?.
    • Dies ist mit () umschlossen, sodass Sie später mit $1 darauf verweisen können.
  • (\\?(.*))?: Passt zu einer Zeichenfolge, die mit ? beginnt, was Abfrageparameter bedeutet.
    • Dies passt auch zu einer leeren Zeichenfolge durch den ?-Quantifizierer am Ende des Musters, der null oder einmal passt.
    • Die äußeren () und die inneren () können später mit $2 und $3 referenziert werden.

RegExr kann Ihnen helfen, die Details zu verstehen.

hinweis

RegExr zeigt einen Fehler an, wenn Sie / nicht mit \ escapen. Obwohl Sie es escapen können, ist es nicht erforderlich, da Redirect Web eine andere Engine von Apple verwendet, die kein Escaping erfordert.

Dies ist keine perfekte Lösung, da sie example.com/hello zu example.com/hello?layout=desktop& umleitet, was ein unnötiges & am Ende der URL enthält. Das ist im Allgemeinen kein großes Problem, aber wenn Sie es entfernen möchten, können Sie die Erfassungsgruppenverarbeitung verwenden.

In Schlussfolgerung, dies ist die endgültige Ausgabe:

  • Umleiten von: (https://example.com/[^?]*)((\\?(.*))?) (Regulärer Ausdruck)
  • Umleiten nach: $1?layout=desktop$3
  • Ausgeschlossenes URL-Muster: .*[&?]layout=[^&]*.* (Regulärer Ausdruck)
  • Erfassungsgruppenverarbeitung:
    • Gruppe: $3
    • Prozess: Vorkommen ersetzen
      • Ziel: \\?(.*)
      • Ersetzung: &$1

⬇️ Regel herunterladen

Dies ist lediglich ein Beispiel. Sie können auch mehrere Regeln erstellen, um jedes Problem zu lösen. Es kann viel einfacher sein.