Skip to main content

Ξεκινώντας

Αυτή η σελίδα περιγράφει κοινές περιπτώσεις χρήσης για τη δημιουργία κανόνων στην εφαρμογή Redirect Web.

(Μπορείτε επίσης να μάθετε τις λεπτομέρειες των ρυθμίσεων κανόνων στη σελίδα Ρυθμίσεις κανόνων.)

Περίπτωση 1: Άνοιγμα άλλου ιστότοπου

Ας υποθέσουμε ότι είστε εθισμένοι στο Twitter και αποφασίζετε να διαλογίζεστε στο Insight Timer κάθε φορά που ανοίγετε κατά λάθος το Twitter. Ας δημιουργήσουμε έναν κανόνα για αυτό!

Βήμα 1. Ρύθμιση "Εκτροπή Από"

Πρώτα, θα πρέπει να ρυθμίσετε την ενότητα Εκτροπή Από στην οθόνη Επεξεργασία Κανόνα της εφαρμογής. Οι στόχοι είναι URL που ξεκινούν με https://twitter.com/.

Σε αυτήν την περίπτωση, μπορείτε να καθορίσετε το ακόλουθο μοτίβο με τη λειτουργία Wildcard:

https://twitter.com/*

Στη λειτουργία Wildcard, το * σημαίνει ότι αντιστοιχεί σε οτιδήποτε (= μηδέν ή περισσότερους χαρακτήρες).

Ωστόσο, περιμένετε. Το twitter.com μετονομάστηκε σε x.com. Μπορείτε απλά να αντικαταστήσετε το twitter.com με x.com αλλά κανείς δεν ξέρει πότε ο νέος ιδιοκτήτης θα αλλάξει ξανά γνώμη για να το επαναφέρει. Επομένως, ας στοχεύσουμε τόσο το twitter.com όσο και το x.com.

Για να το κάνετε αυτό, αλλάξτε από Wildcard σε Κανονική Έκφραση και ορίστε αυτό ως το μοτίβο:

https://(twitter|x).com/.*
  • (twitter|x): στοχεύει τόσο το twitter όσο και το x. (| ονομάζεται pipe.)
  • .*: Είναι το ίδιο με το * του Wildcard. Πιο συγκεκριμένα, το . σημαίνει οποιοσδήποτε χαρακτήρας και το * σημαίνει οτιδήποτε πριν από αυτό το σύμβολο επαναλαμβάνεται οποιονδήποτε αριθμό φορών, με αποτέλεσμα να αντιστοιχεί σε οτιδήποτε.

Η Κανονική Έκφραση είναι λίγο περίπλοκη, αλλά μόλις τη συνηθίσετε, θα είναι ένα ισχυρό εργαλείο. Σας συνιστούμε να χρησιμοποιήσετε το RegExr ως παιδική χαρά για να αναλύσετε πώς λειτουργεί το μοτίβο της Κανονικής σας Έκφρασης.

note

Στις Κανονικές Εκφράσεις, το . στο (twitter|x).com αντιμετωπίζεται επίσης ως οποιοσδήποτε χαρακτήρας. Επομένως, το (twitter|x).com/.* αντιστοιχεί επίσης, για παράδειγμα, σε twitter1com/ ή x_com/.

Για να το αποφύγετε, μπορείτε να το αλλάξετε σε (twitter|x)\.com/.*. Το \ χρησιμοποιείται για να ανακληθεί ένας ειδικός χαρακτήρας.

Ωστόσο, δεν υπάρχουν τέτοια URL στο γενικό περιβάλλον του διαδικτύου. Επομένως, μπορείτε να αφήσετε το . ως ειδικό χαρακτήρα αν προτιμάτε. Ο κανόνας σας είναι για δική σας χρήση, οπότε εφαρμόστε τον όπως κρίνετε σκόπιμο.

Βήμα 2: Ρύθμιση "Εκτροπή Προς"

Απλά καθορίστε το URL ως εξής:

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

Τώρα, το Redirect Web σας οδηγεί στον διαλογισμό όταν αποκτάτε πρόσβαση στο Twitter!

⬇️ Λήψη του Κανόνα

Περίπτωση 2: Αφαίρεση Παραμέτρων Ερωτήματος από το URL

Ας υποθέσουμε ότι υπάρχει μια παράμετρος ερωτήματος source=twitter σε ένα URL του example.com, και αποφασίσατε να την αφαιρέσετε για να παραμείνετε ανώνυμοι.

Σε αυτήν την περίπτωση, η επιλογή Επεξεργασία Ομάδας Σύλληψης (Capturing Group Processing) είναι ο ευκολότερος τρόπος:

  • Εκτροπή Από: https://example.com/* (Wildcard)
  • Εκτροπή Προς: $0
  • Επεξεργασία Ομάδας Σύλληψης:
    • Ομάδα: $0
    • Διαδικασία: Αντικατάσταση Εμφανίσεων
      • Στόχος: &?source=[^&]*
      • Αντικατάσταση: (καμία)
      • Μοτίβο Κειμένου: Κανονική Έκφραση

⬇️ Λήψη του Κανόνα

Αυτός ο κανόνας λειτουργεί ως εξής:

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

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

Αν θέλετε να αφαιρέσετε περισσότερες παραμέτρους, προσθέστε περισσότερες διαδικασίες.

Περίπτωση 3: Προσθήκη Παραμέτρων Ερωτήματος στο URL

Ας πούμε ότι υπάρχει ένας ιστότοπος που ονομάζεται example.com ο οποίος εμφανίζει από προεπιλογή μια διάταξη για κινητά, αλλά εσείς προτιμάτε τη διάταξη για επιτραπέζιους υπολογιστές. Ευτυχώς, ο ιστότοπος υποστηρίζει μια παράμετρο ερωτήματος layout για να καθορίσετε ποια διάταξη εμφανίζει ο ιστότοπος. Ας δημιουργήσουμε έναν κανόνα που προσθέτει αυτόματα το layout=desktop.

Ίσως σκέφτεστε ότι θα μπορούσατε να το ορίσετε ως εξής:

  • Εκτροπή Από: https://example.com/.* (Κανονική Έκφραση)
  • Εκτροπή Προς: $0?layout=desktop

Το $0 αναφέρεται στο URL προορισμού. Εάν προσπαθήσετε να αποκτήσετε πρόσβαση στο example.com/hello, ανακατευθύνεστε στο example.com/hello?layout=desktop. Αυτή η δυνατότητα ονομάζεται αντικατάσταση.

tip

Η αντικατάσταση είναι επίσης διαθέσιμη για τη λειτουργία Wildcard καθώς μετατρέπεται εσωτερικά σε Κανονική Έκφραση.

Ωστόσο, υπάρχουν ορισμένα προβλήματα με αυτές τις ρυθμίσεις.

Πρόβλημα 1: Άπειρος βρόχος

Η τρέχουσα ρύθμιση δημιουργεί έναν άπειρο βρόχο ανακατεύθυνσης, καθώς το https://example.com/.* στοχεύει επίσης το https://example.com/hello?layout=desktop.

Σε αυτήν την περίπτωση, μπορείτε να καθορίσετε ένα μοτίβο URL που εξαιρείται και σας επιτρέπει να έχετε πρόσβαση χωρίς ανακατεύθυνση, όπως αυτό με Κανονική Έκφραση:

.*[&?]layout=[^&]*.*
  • .*: Αντιστοιχεί σε οτιδήποτε
  • [&?]: Αντιστοιχεί είτε στο & είτε στο ?
  • [^&]*: Αντιστοιχεί σε οτιδήποτε εκτός από το &

Πρόβλημα 2: Δεν μπορεί να χειριστεί σωστά τις υπάρχουσες παραμέτρους

Εάν το URL προορισμού έχει ήδη άλλες παραμέτρους ερωτήματος, όπως example.com/hello?theme=dark, ο προορισμός θα είναι example.com/hello?theme=dark?layout=desktop (Υπάρχουν δύο ? στο URL) αλλά μπορείτε να συνδέσετε τις παραμέτρους μόνο με &. Το ? ως ειδικός χαρακτήρας επιτρέπεται μόνο στην αρχή των παραμέτρων. Επομένως, δεν αντιμετωπίζεται ως έγκυρη παράμετρος.

Σε αυτήν την περίπτωση, αλλάξτε τις ρυθμίσεις ως εξής:

  • Εκτροπή Από: (https://example.com/[^?]*)(\?(.*))?
  • Εκτροπή Προς: $1?layout=desktop&$3

Ας το δούμε βήμα προς βήμα.

  • (https://example.com/[^?]*): Αντιστοιχεί στο τμήμα μέχρι τον προηγούμενο χαρακτήρα του ?.
    • Το [^?]* αντιστοιχεί σε οτιδήποτε εκτός από το ?.
    • Αυτό είναι τυλιγμένο με () ώστε να μπορείτε να αναφερθείτε σε αυτό με το $1 αργότερα.
  • (\?(.*))?: Αντιστοιχεί σε μια συμβολοσειρά που ξεκινά με ?, που σημαίνει παραμέτρους ερωτήματος.
    • Αυτό αντιστοιχεί επίσης σε κενή συμβολοσειρά από τον ποσοτικό δείκτη ? στο τέλος του μοτίβου, το οποίο αντιστοιχεί μηδέν ή μία φορά.
    • Τα εξωτερικά () και τα εσωτερικά () μπορούν να αναφερθούν με $2 και $3 αργότερα.

Το RegExr μπορεί να σας βοηθήσει να κατανοήσετε τις λεπτομέρειες.

note

Το RegExr εμφανίζει ένα σφάλμα όταν δεν ανακαλείτε το / με \. Αν και μπορείτε να το ανακαλέσετε, δεν απαιτείται καθώς το Redirect Web χρησιμοποιεί μια διαφορετική μηχανή της Apple που δεν απαιτεί ανακαλέσεις.

Αυτή δεν είναι μια τέλεια λύση, καθώς ανακατευθύνει το example.com/hello στο example.com/hello?layout=desktop&, το οποίο περιλαμβάνει ένα περιττό & στο τέλος του URL. Γενικά δεν είναι μεγάλο πρόβλημα, αλλά αν επιθυμείτε να το αφαιρέσετε, μπορείτε να χρησιμοποιήσετε την Επεξεργασία Ομάδας Σύλληψης.

Εν κατακλείδι, αυτή είναι η τελική έξοδος:

  • Εκτροπή Από: (https://example.com/[^?]*)((\?(.*))?) (Κανονική Έκφραση)
  • Εκτροπή Προς: $1?layout=desktop$3
  • Μοτίβο URL που εξαιρείται: .*[&?]layout=[^&]*.* (Κανονική Έκφραση)
  • Επεξεργασία Ομάδας Σύλληψης:
    • Ομάδα: $3
    • Διαδικασία: Αντικατάσταση Εμφανίσεων
      • Στόχος: \?(.*)
      • Αντικατάσταση: &$1

⬇️ Λήψη του Κανόνα

Αυτό είναι απλώς ένα παράδειγμα. Μπορείτε επίσης να δημιουργήσετε πολλούς κανόνες για να αντιμετωπίσετε κάθε πρόβλημα. Μπορεί να είναι πολύ πιο απλό.