Η απλοποιημένη αντιστοίχιση χαρακτήρων μπαλαντέρ επιτρέπει σε έναν κανόνα να αντιστοιχεί πολλές διευθύνσεις τοποθεσίας ενώ περιορίζει επίσης τον όγκο παρακολούθησης κανονικών εκφράσεων που απαιτείται για τη λήψη ενός αποτελέσματος.
Επειδή οι κανονικές εκφράσεις μπορεί να είναι πολύπλοκες για εγγραφή και επειδή αυτές που δεν είναι σωστά κατασκευασμένες μπορούν να αξιολογούνται για απροσδιόριστο χρονικό διάστημα (ReDoS
), ένας δεύτερος τύπος κανόνα επιτρέπει έναν μηχανισμό απλοποιημένης αντιστοίχισης. Χρησιμοποιεί έναν χαρακτήρα μπαλαντέρ ("*
") για την αντιστοίχιση μηδέν (0) ή περισσότερων χαρακτήρων στην εισερχόμενη διεύθυνση τοποθεσίας και τη λέξη-κλειδί 'wildcard'
με μια τιμή ευρετηρίου για την αντιγραφή των εισερχόμενων τμημάτων της διεύθυνσης τοποθεσίας στη διεύθυνση τοποθεσίας ανακατεύθυνσης.
Ο ακόλουθος πίνακας απεικονίζει ορισμένα δείγματα απλοποιημένων αντιστοιχίσεων χαρακτήρων μπαλαντέρ.
Διεύθυνση τοποθεσίας προέλευσης | Διεύθυνση τοποθεσίας θέσης προορισμού |
---|---|
/old/* |
/new/<$wildcard(1)$> |
/dispatch.asp?page=*&facet=Lang* |
/page<$wildcard(1)$>/<$wildcard(2)$> |
Η απλοποιημένη αντιστοίχιση χαρακτήρων μπαλαντέρ δίνει μεγαλύτερη ισχύ στην αντιστοίχιση διευθύνσεων τοποθεσίας σε σχέση με την απλή αντιστοίχιση συμβολοσειρών, αλλά το κάνει αυτό χωρίς επεξεργασία μη δεσμευμένων κανονικών εκφράσεων. Η σύνταξη είναι απλή και μπορείτε να χρησιμοποιήσετε αντιστοίχιση μοτίβων σε μια διεύθυνση τοποθεσίας για να επιτύχετε έναν μεγάλο αριθμό διευθύνσεων τοποθεσίας με ένα μοτίβο.
Επειδή βασίζονται σε κανονικές εκφράσεις, οι κανόνες χαρακτήρων μπαλαντέρ θα αξιολογηθούν κάπως πιο αργά από την απλή αντιστοίχιση συμβολοσειρών. Ένας μεγάλος αριθμός κανόνων μπορεί να παρουσιάσει πρόβλημα στη γενική απόδοση της παράδοσης σελίδων.