Πέμπτη, 14 Μαρτίου, 2024

Πως να φτιάξεις το ERR_TOO_MANY_REDIRECTS σφάλμα

Share

Το ERR_TOO_MANY_REDIRECTS είναι ένα από τα πιο εκνευριστικά προβλήματα που μπορείς να συναντήσεις στο WordPress. Το πρόβλημα με το συγκεκριμένο σφάλμα, γνωστό και ως redirect loop (λούπα ανακατεύθυνσης), είναι πως ορισμένες φορές είναι πολύ δύσκολη η επίλυση του αν δεν γνωρίζεις την αιτία που εμφανίστηκε εξ ‘αρχής.

Υπάρχουν εκατοντάδες τρόποι με τους οποίους μπορείς να ρυθμίσεις και να βελτιστοποιήσεις μια ιστοσελίδα που τρέχει πάνω στο WordPress. Εκτός από τον πυρήνα της CMS πλατφόρμας, μπορείς να βρεις άλλους τόσους τρόπους και στο web hosting πακέτο σου. Μιας και η συγκεκριμένη πλατφόρμα έχει τόσες πολλές επιλογές και δυνατότητες, μαζί της έρχονται και τα εκατοντάδες σφάλματα. Ευτυχώς, η κοινότητα του WordPress είναι τεράστια και έτσι σχεδόν πάντα βρίσκεις τη λύση στο πρόβλημα που αντιμετωπίζεις, ή αν δεν υπάρχει, μια ερώτηση στο επίσημο forum αρκεί.

Μιας και το συγκεκριμένο σφάλμα είναι ιδιαίτερη περίπτωση και το αντιμετωπίζουν αρκετοί bloggers, αποφάσισα να το καλύψω με ορισμένες συμβουλές για να καταφέρεις να το διορθώσεις και να επαναφέρεις το blog σου.

Τι είναι το ERR_TOO_MANY_REDIRECTS σφάλμα;

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

Ο σύνδεσμος 1 ανακατευθύνει τους επισκέπτες στον σύνδεσμο 2 αλλά ο σύνδεσμος 2 ανακατευθύνει τους επισκέπτες στον σύνδεσμο 1.

Το ERR_TOO_MANY_REDIRECTS μπορεί να αφορά μόνο ορισμένες σελίδες της ιστοσελίδας σου ή ακόμα και ολόκληρο το domain name. Είναι ένα σφάλμα το οποίο δεν επιδιορθώνεται μόνο του, εκτός αν μόλις άλλαξες τους nameservers ή τα DNS του domain name σου και δεν έχουν αλλάξει ακόμα σε όλους.

Πως να διορθώσεις το ERR_TOO_MANY_REDIRECTS σφάλμα

Όταν εμφανίζεται για πρώτη φορά το ERR_TOO_MANY_REDIRECTS στην ιστοσελίδα σου, προσπάθησε να θυμηθείς ποια ήταν η τελευταία αλλαγή που έκανες στο blog σου και προκάλεσε αυτό το πρόβλημα. Η αναίρεση αυτής της αλλαγής πιθανώς να διορθώσει και το πρόβλημα. Μπορείς επίσης να κοιτάξεις τα logs αρχεία μέσα από το Plesk ή το cPanel ώστε να δεις γιατί συμβαίνει αυτή η λούπα ανακατευθύνσεων.

1. Καθάρισε τα cookies και το ιστορικό του browser σου

Το πρώτο πράγμα που πρέπει να κάνεις είναι να καθαρίσεις το ιστορικό και τα cookies του browser σου. Στον Google Chrome, πάνε τέρμα επάνω δεξιά στις τρεις τελείες και πάνε στην επιλογή Περισσότερα εργαλεία -> Εκκαθάριση δεδομένων περιηγητή και από εκεί πας στην καρτέλα “Ειδικευμένη” και επιλέγεις να καθαρίσεις το ιστορικό και τα cookies, είτε μόνο της δικής σου ιστοσελίδας, είτε όλων.

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

2. Έλεγξε τους μόνιμους συνδέσμους στο WordPress αλλά και την σελίδα των ρυθμίσεων

Είτε άλλαξες είτε δεν άλλαξες τους μόνιμους συνδέσμους στο WordPress, μια ανανέωση ίσως βοηθήσει στο πρόβλημα σου, εφόσον βέβαια μπορείς να εισέλθεις ως διαχειριστής στην ιστοσελίδα σου. Αν δεν μπορείς να συνδεθείς, τότε προχώρα στην επόμενη ενότητα.

Από το αριστερό πλαϊνό μενού, πάνε στις Ρυθμίσεις -> Μόνιμοι σύνδεσμοι. Κατέβα τέρμα κάτω, πάτα αποθήκευση και έλεγξε αν το σφάλμα έχει διορθωθεί ή όχι.

Στη συνέχεια, πάνε στην σελίδα Ρυθμίσεις -> Γενικά και από εκεί έλεγξε στα δύο πεδία αν ο σύνδεσμος είναι με HTTP ή HTTPS. Αν έχεις SSL εγκατεστημένο, τότε θα πρέπει να είναι HTTPS. Αν δεν έχεις, τότε θα πρέπει να είναι HTTP.

3. Μην βάλεις HTTPS αν δεν έχεις SSL

Αν αυτό το σφάλμα ξεκίνησε την ώρα που έβαλες την CloudFlare ή κάποια άλλη CDN υπηρεσία, τότε απλά ενεργοποίησε το “Development Mode” και έλεγξε αν διορθωθεί το σφάλμα.

CloudFlare Development Mode

Αν δεν διορθωθεί, φρόντισε να απενεργοποιήσεις οποιαδήποτε επιλογή βρεις για SSL και HTTPS, εφόσον δεν έχεις το Let’s Encrypt ή κάποιο αγορασμένο άλλο SSL πιστοποιητικό. Αν έχεις αγορασμένο και εγκατεστημένο SSL πιστοποιητικό, τότε έλεγξε στην CloudFlare στην σελίδα SSL πως η επιλογή βρίσκεται στο Full και όχι στο Flexible SSL.

CloudFlare Full SSL Settings

Σιγουρέψου επίσης πως έχεις ενεργοποιήσει οτιδήποτε άλλο περιλαμβάνει τα HTTPS rewrites για να μεταφέρονται αυτόματα οι επισκέπτες από HTTP σε HTTPS.

4. Επεξεργάσου το wp-config.php για να αλλάξεις τα rewrites rules

Εφόσον το πρόβλημα δεν βρίσκεται στο SSL πιστοποιητικό ή στην CDN υπηρεσία που χρησιμοποιούμε, τότε ίσως βρίσκεται στα rewrite rules του WordPress. Εδώ, βέβαια, πάμε σε πιο ειδικευμένα επίπεδα, αλλά είναι ο μόνος τρόπος για να επιλύσουμε το πρόβλημα.

Αρχικά θα χρειαστείς πρόσβαση στα αρχεία του blog σου. Για να το κάνεις αυτό, υπάρχουν δύο διαφορετικοί τρόποι, εξίσου αποτελεσματικοί:

  1. Να αποκτήσεις πρόσβαση στο File Manager μέσα από το Plesk ή το cPanel του web hosting πακέτου σου. Τα στοιχεία σύνδεσης καθώς επίσης και ο σύνδεσμος σου στάλθηκαν στο email ενεργοποίησης του hosting πακέτου σου.
  2. Να κατεβάσεις ένα FTP πρόγραμμα όπως το Filezilla, να το εγκαταστήσεις και να συνδεθείς στον server σου με τα FTP στοιχεία που σου στάλθηκαν στο πρώτο email που έλαβες με την ενεργοποίηση του hosting πακέτου σου.

Το wp-config.php αρχείο βρίσκεται στον φάκελο εγκατάστασης του WordPress site σου. Απλά άνοιξε το για να το επεξεργαστείς και αμέσως μετά το <php βάλε τον παρακάτω κώδικα, αλλάζοντας το inkstory.gr με το domain name του blog σου.

define( 'WP_HOME', 'https://inkstory.gr' );
define( 'WP_SITEURL', 'https://inkstory.gr' );

Στη συνέχεια, πάτα αποθήκευση και δες αν λύθηκε το πρόβλημα.

5. Έλεγξε το .htaccess αρχείο σου

Το .htaccess αρχείο βρίσκεται στον ίδιο φάκελο και στο ίδιο μέρος που βρίσκεται και το wp-config.php αρχείο σου. Μπορείς να το ανοίξεις και να το επεξεργαστείς με τον ίδιο τρόπο.

Σιγουρέψου αρχικά πως δεν υπάρχει ο παρακάτω κώδικας μέσα και – εφόσον δεν υπάρχει – πρόσθεσε τον παρακάτω κώδικα μέσα και πάτα αποθήκευση. Αν υπάρχει, απλά αντικατέστησε τον με τον παρακάτω, ο οποίος παρέχεται και προτείνεται από το ίδιο το WordPress.

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Με τον παραπάνω κώδικα σιγουρευόμαστε αρχικά πως δεν υπάρχει το .index.php μέσα και αν υπάρχει, να μεταφέρει τους αναγνώστες αυτόματα στον σωστό σύνδεσμο. Στο .htaccess αρχείο πάλι, μπορείς να προσθέσεις και τον παρακάτω κώδικα:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Ο παραπάνω κώδικας θέτει το γνωστό 301 Redirects και μεταφέρει αυτόματα όλους τους αναγνώστες από HTTP σε HTTPS. Δεν χρειάζεται να συμπληρώσεις κάτι ή να κάνεις κάποια αλλαγή, απλά πατάς αποθήκευση και ελέγχεις αν λειτουργεί σωστά το blog σου.

6. Απενεργοποίησε plugins και themes

Επειδή πολλές φορές πέφτουμε στα δύσκολα και ξεχνάμε πως αρκετά συχνά τα πιο απλά πράγματα φέρνουν και τα πιο περίεργα προβλήματα, απλά μετανόμασε τον φάκελο των plugins σε plugins1 και τον φάκελο των themes σε theme1 και έλεγξε αν συνεχίζει να υπάρχει το ERR_TOO_MANY_REDIRECTS σφάλμα.

Αν το σφάλμα εξαφανιστεί, τότε επανέφερε την ονομασία του theme αφαιρώντας τον αριθμό 1 και κάνε μια ανανέωση για να ελέγξεις αν ξανά εμφανιστεί. Αν δεν εμφανιστεί, κάνε το ίδιο και για τον φάκελο με τα plugins. Αν εμφανιστεί, τότε το πρόβλημα βρίσκεται σε κάποιο από τα plugins. Ξεκίνα μετονομάζοντας έναν-έναν τους φακέλους για να σιγουρευτείς ποιο δεν είναι συμβατό και προκαλεί το σφάλμα.

7. Δεν ολοκληρώθηκε η αλλαγή των nameservers ή ρύθμισες λάθος το domain name

Αν μετέφερες την ιστοσελίδα σου σε διαφορετικό web hosting πάροχο και ξαφνικά βλέπεις το ERR_TOO_MANY_REDIRECTS σφάλμα, τότε υπάρχει τεράστια περίπτωση να μην έχει ολοκληρωθεί παντού η αλλαγή των nameservers ή των DNS και να χρειάζεται περισσότερο χρόνο.

Αν δεις ότι πέρασαν πάνω από 24 ώρες και το πρόβλημα παραμένει, έλεγξε αν έκανες σωστά τις ρυθμίσεις στα DNS ή μήπως υπάρχει κάποιο ορθογραφικό λάθος στους nameservers (έχει συμβεί και στους καλύτερους).

8. Έλεγξε για ιούς και malware

Αν κανένας από τους παραπάνω τρόπους δεν επίλυσε το πρόβλημα, τότε έλεγξε μήπως υπάρχει malware μέσα στα αρχεία σου. Αν το ERR_TOO_MANY_REDIRECTS σφάλμα εμφανίζεται μόνο στο διαχειριστικό του WordPress ενώ η υπόλοιπη ιστοσελίδα είναι λειτουργήσιμη, είναι σίγουρα malware.

Αν δεν έχεις καθόλου πρόσβαση στο WordPress ή στην πλατφόρμα που χρησιμοποιείς, και δεν έχεις τις απαραίτητες τεχνικές γνώσεις για να ελέγξεις για malware στα αρχεία σου, τότε ζήτησε από την web hosting εταιρεία στην οποία βρίσκεσαι να ελέγξει αυτή για εσένα, αν και μην περιμένεις να καθαρίσουν αυτοί όλη την ιστοσελίδα σου για εσένα αν δεν βάλεις το χέρι στη τσέπη.

Αν μπορείς να συνδεθείς στο WordPress, τότε εγκατέστησε το WordFence, ξεκίνα ένα καινούργιο scan (σάρωση) και διέγραψε όλα τα κακόβουλα αρχεία που θα βρει, αφότου είσαι σίγουρος/ρη, εναλλακτικά απλά ψάξε το κάθε αρχείο στην Google και θα σε ενημερώσει για το τι είναι το καθένα (όχι για όλα βέβαια). Μπορείς επίσης να βάλεις τη λίστα των αρχείων που σου έβγαλε στα σχόλια στο τέλος του άρθρου και ευχαρίστως να σε βοηθήσω και εγώ.


Απ’ ότι μπορείς να καταλάβεις, το ERR_TOO_MANY_REDIRECTS μπορεί να γίνει ένα ιδιαίτερα εκνευριστικό σφάλμα για κάθε κάτοχο ιστοσελίδας. Αν και στις περισσότερες ιστοσελίδες (στα αγγλικά) θα διαβάσεις πως είναι ένα πρόβλημα το οποίο συχνά λύνεται με τον καθαρισμό του ιστορικού και των cookies, δεν κατάφερα ποτέ να λύσω το πρόβλημα έτσι μιας και δεν σχετιζόταν ποτέ το πρόβλημα με την cache, αλλά συνήθως με λάθος αλλαγή στα DNS, λάθος ρύθμιση στο SSL της CloudFlare ή εξαιτίας κάποιου malware.

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

Παναγιώτης Σακαλάκης
Παναγιώτης Σακαλάκηςhttps://inkstory.gr
Ο Παναγιώτης Σακαλάκης είναι ο διαχειριστής του Inkstory και ειδικεύεται στη γραφή αναλυτικών οδηγών για το Blogging, το Vlogging, το Podcasting, το SEO και το WordPress. Το πάθος του για το blogging ξεκίνησε κάπου στα τέλη του 2006, όπου άνοιξε το πρώτο του blog και ασχολήθηκε επαγγελματικά με το Web Designing και Development.
0 0 ψήφοι
Article Rating
Εγγραφή
Ειδοποίηση για
guest
0 Comments
Ενσωματωμένα σχόλια
Δείτε όλα τα σχόλια

Διαβάστε Επίσης

Αναζητάς περισσότερα;