Γιατί λαμβάνω ένα σφάλμα  'Too Many Redirects' error?
Τα σφάλματα "Πάρα πολλές ανακατευθύνσεις" προκαλούνται από ιστότοπους που έχουν κολλήσει σε έναν βρόχο ανακατευθύνσεων.

Το σφάλμα 'Too Many Redirects' error' σε ένα πρόγραμμα περιήγησης

Τι είναι το ERR_TOO_MANY_REDIRECTS;

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

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

Συνήθεις αιτίες ERR_TOO_MANY_REDIRECTS
Ακολουθούν ορισμένες κοινές αιτίες - κανόνες «πάντα αληθής», μικτό περιεχόμενο και προσωρινή αποθήκευση. Θα εξηγήσουμε τι σημαίνουν και θα σας δείξουμε πώς να τα διορθώσετε.

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

Για παράδειγμα, έχουμε έναν ιστότοπο domain.com και προσπαθούμε να τον ανακατευθύνουμε στον υποτομέα μας my.domain.com

Ένας τρόπος με τον οποίο μπορούμε να το κάνουμε αυτό είναι μέσω των παρακάτω:

RewriteCond "%{HTTP_HOST}" "domain.com$"

RewriteCond "%{REQUEST_URI}" "^/"

RewriteRule ".*" "https://my.domain.com/" [L,R=301]

Στο παραπάνω παράδειγμα, έχουμε την κατάστασή μας:

RewriteCond "%{HTTP_HOST}" "domain.com$"

Το οποίο δηλώνει ότι, εάν η διεύθυνση URL περιέχει «domain.com», ανακατευθύνετε τον ιστότοπο. Ωστόσο, αυτό θα οδηγήσει σε ένα βρόχο, καθώς ο υποτομέας μας περιέχει επίσης «domain.com», με αποτέλεσμα το σφάλμα ανακατευθύνσεων πάρα πολλών.

Ένας πολύ καλύτερος τρόπος για να κάνετε αυτήν την ανακατεύθυνση θα ήταν να χρησιμοποιήσετε:

RewriteCond %{HTTP_HOST} !^my\.domain\.com [NC]

RewriteRule ^(.*)$ http://my\.domain\.com/$1 [R=301,L]

Το οποίο αντί αυτού χρησιμοποιεί την συνθήκη:

RewriteCond %{HTTP_HOST} !^my\.domain\.com [NC]

Αυτό ελέγχει εάν η διεύθυνση URL δεν είναι ο υποτομέας και ανακατευθύνει τον ιστότοπο εάν δεν είναι.

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

Εάν δεν είστε σίγουροι, δοκιμάστε να μετονομάσετε το αρχείο σας .htaccess. Εάν το σφάλμα σταματήσει όταν το κάνετε αυτό, κάτι σε αυτό το αρχείο προκαλεί τον ίδιο τον βρόχο.

Μικτό Περιεχόμενο
Ο όρος «Μικτό περιεχόμενο» αναφέρεται όταν τμήματα ενός ιστότοπου σε HTTPS προσπαθούν να φορτώσουν περιεχόμενο μέσω HTTP. Σε πιο ασυνήθιστες περιπτώσεις, αυτό μπορεί να οδηγήσει στη διόρθωση ενός ιστότοπου σε HTTP και στη συνέχεια σε ανακατεύθυνση σε HTTPS, με αποτέλεσμα έναν βρόχο μεταξύ των δύο που προκαλεί το ERR_TOO_MANY_REDIRECTS.

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

Έχουμε έναν πλήρη οδηγό για την εύρεση και τη διόρθωση μικτού περιεχομένου εδώ.

Επιβολή σεναρίων HTTPS

Ορισμένα Συστήματα Διαχείρισης Περιεχομένου (CMS) όπως το Joomla έχουν επιλογές που μπορούν να αναγκάσουν τις συνδέσεις HTTPS στον ιστότοπό σας ως μέρος της ενοποίησης. Η ενεργοποίησή τους κάνει τροποποιήσεις στον κώδικα για την επιβολή αυτού – ωστόσο, εάν έχετε ήδη συμπεριλάβει τα δικά σας σενάρια για να εξαναγκάσετε το HTTPS ή χρησιμοποιείτε την επιλογή του πίνακα ελέγχου για να το κάνετε στην περιοχή SSL/TLS, τότε αυτό θα μπορούσε να οδηγήσει σε διένεξη και να οδηγήσει σε βρόχο .

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

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

Ο πιο γρήγορος τρόπος για να ελέγξετε εάν συμβαίνει αυτό είναι να επισκεφτείτε τον ιστότοπο με μια συμβολοσειρά ερωτήματος στο τέλος, για παράδειγμα:

https://mydomain.com/?nocache

Τίποτα μετά το '?' αγνοείται, οπότε μπορείτε να γράψετε οτιδήποτε. Κάτι τέτοιο θα παρακάμψει την προσωρινή μνήμη στον ιστότοπο και θα αναγκάσει τον ιστότοπο να φορτώσει απευθείας.

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

Ελέγξτε τον ιστότοπό σας για τυχόν φακέλους προσωρινής μνήμης και διαγράψτε τους και, στη συνέχεια, διαγράψτε την κρυφή μνήμη άκρης από το πακέτο σας:

-Συνδεθείτε στο MyPCS και κατευθυνθείτε στην περιοχή Διαχείρισης Φιλοξενίας
-Επιλέξτε Επιλογές > Διαχείριση στο πακέτο φιλοξενίας που θέλετε να επεξεργαστείτε
-Επιλέξτε Edge Caching από την ενότητα CDN του πακέτου
-Edge caching στο μενού PCS «Manage Hosting».

Στο κάτω μέρος της σελίδας Edge Caching, επιλέξτε Purge Everything. Η προσωρινή μνήμη του διακομιστή θα διαγραφεί μέσα σε λίγα λεπτά.

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

Bu cevap yeterince yardımcı oldu mu? 0 Bu dökümanı faydalı bulan kullanıcılar: (0 Oy)