Πρόσφατα προέκυψαν δύο περιπτώσεις OpenCart όπου οι διαχειριστές τους είχαν δημιουργήσει κατά λάθος SEO URLs με κενά. Τα κενά μετατρέπονταν urlencoded σε "%20" και λειτουργούσαν κανονικά. Πλέον, στα sites σταμάτησαν να λειτουργούν αυτοί οι σύνδεσμοι και ο server είτε έδινε 403 Forbidden, είτε σέρβιρε χαρακτήρες με λάθος κωδικοποίηση, ρόμβους, κλπ. Δεν έχω επιβεβαιώσει ακόμα που οφείλεται το πρόβλημα. Εικάζω ότι οφείλεται σε αναβάθμιση του Apache, καθώς το πρόβλημα λύνεται με παρέμβαση στο .htaccess.
Για την επίλυση του προβλήματος χρησιμοποιούμε το
B RewriteRule Flag, που δηλώνει στο RewriteRule να γίνονται escape οι μη αλφαριθμητικοί χαρακτήρες πριν από την εφαρμογή του μετασχηματισμού.
Στο .htaccess του OpenCart η τελευταία γραμμή RewriteRule:
Κώδικας: Επιλογή όλωνRewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
Γίνεται:
Κώδικας: Επιλογή όλωνRewriteRule ^([^?]*) index.php?_route_=$1 [L,B,QSA]
Αλεξάνδρα Γκόγκα - Software Developer @ People’s Code
OpenCart-Hellas.gr - Administrator & Founder
PeoplesCode.com - Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Μεταφορά - Τεχνική Υποστήριξη OpenCart
Ελληνική μετάφραση & Επεκτάσεις OpenCart