Ξεκινώντας
Αυτή η σελίδα περιγράφει κοινές περιπτώσεις χρήσης για τη δημιουργία κανόνων στην εφαρμογή Redirect Web.
(Μπορείτε επίσης να μάθετε τις λεπτομέρειες των ρυθμίσεων κανόνων στη σελίδα Ρυθμίσεις Κανόνων.)
Περίπτωση 1: Άνοιγμα άλλου ιστότοπου
Ας υποθέσουμε ότι είστε εθισμένοι στο Twitter και αποφασίζετε να διαλογιστείτε στο Insight Timer κάθε φορά που ανοίγετε κατά λάθος το Twitter. Ας δημιουργήσουμε έναν κανόνα για αυτό!
Βήμα 1. Ρύθμιση "Ανακατεύθυνση Από"
Πρώτα, θα πρέπει να ρυθμίσετε την ενότητα Ανακατεύθυνση Από στην οθόνη Επεξεργασία Κανόνα στην εφαρμογή. Οι στόχοι είναι διευθύνσεις URL που ξεκινούν με https://twitter.com/
.
Σε αυτήν την περίπτωση, μπορείτε να καθορίσετε το ακόλουθο μοτίβο με τη λειτουργία Wildcard:
https://twitter.com/*
Ωστόσο, περιμένετε. Το twitter.com
μετονομάστηκε σε x.com
. Μπορείτε απλά να αντικαταστήσετε το twitter.com
με το x.com
, αλλά κανείς δεν ξέρει πότε ο νέος ιδιοκτήτης θα αλλάξει ξανά γνώμη για να το επαναφέρει. Επομένως, ας στοχεύσουμε και τα δύο twitter.com
και x.com
.
Για να το κάνετε αυτό, αλλάξτε από Wildcard σε Κανονική Έκφραση και ορίστε αυτό ως μοτίβο:
https://(twitter|x).com/.*
(twitter|x)
: στοχεύει και τα δύοtwitter
καιx
. (|
ονομάζεται σωλήνας.).*
: Είναι το ίδιο με το*
του Wildcard. Πιο συγκεκριμένα, το.
σημαίνει οποιοσδήποτε χαρακτήρας και το*
σημαίνει οτιδήποτε πριν από αυτό το σύμβολο επαναλαμβάνεται οποιονδήποτε αριθμό φορών, με αποτέλεσμα να ταιριάζει με οτιδήποτε.
Η Κανονική Έκφραση είναι λίγο περίπλοκη, αλλά μόλις τη συνηθίσετε, θα είναι ένα ισχυρό εργαλείο. Συνιστούμε να χρησιμοποιήσετε το RegExr ως παιδική χαρά για να αναλύσετε πώς λειτουργεί το μοτίβο της Κανονικής Έκφρασης.
Στις Κανονικές Εκφράσεις, το .
στο (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
, και αποφασίσατε να την αφαιρέσετε για να ανωνυμοποιηθείτε.
Σε αυτήν την περίπτωση, η επιλογή Επεξεργασία Ομάδας Καταγραφής είναι ο ευκολότερος τρόπος:
- Ανακατεύθυνση Από:
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
. Αυτή η λειτουργία ονομάζεται υποκατάσταση.
Η υποκατάσταση είναι επίσης διαθέσιμη για τη λειτουργία 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 μπορεί να σας βοηθήσει να κατανοήσετε τις λεπτομέρειες.
Το RegExr εμφανίζει ένα σφάλμα όταν δεν διαφεύγετε το /
με \
. Αν και μπορείτε να το διαφύγετε, δεν απαιτείται, καθώς το Redirect Web χρησιμοποιεί μια διαφορετική μηχανή της Apple που δεν απαιτεί διαφυγή.
Αυτή δεν είναι μια τέλεια λύση, καθώς ανακατευθύνει το example.com/hello
στο example.com/hello?layout=desktop&
, το οποίο περιλαμβάνει ένα περιττό &
στο τέλος της διεύθυνσης URL. Δεν είναι μεγάλο πρόβλημα γενικά, αλλά αν θέλετε να το αφαιρέσετε, μπορείτε να χρησιμοποιήσετε την Επεξεργασία Ομάδας Καταγραφής.
Συμπερασματικά, αυτή είναι η τελική έξοδος:
- Ανακατεύθυνση Από:
(https://example.com/[^?]*)((\(?(.*))?
(Κανονική Έκφραση) - Ανακατεύθυνση Προς:
$1?layout=desktop&$3
- Αποκλεισμένο Μοτίβο URL:
.*[&?]layout=[^&]*.*
(Κανονική Έκφραση) - Επεξεργασία Ομάδας Καταγραφής:
- Ομάδα:
$3
- Διαδικασία: Αντικατάσταση Εμφανίσεων
- Στόχος:
\?(.*)
- Αντικατάσταση:
&$1
- Στόχος:
- Ομάδα:
Αυτό είναι απλώς ένα παράδειγμα. Μπορείτε επίσης να δημιουργήσετε πολλούς κανόνες για να χειριστείτε κάθε πρόβλημα. Μπορεί να είναι πολύ πιο απλό.