Έχουμε συζητήσει προηγουμένως η μορφή της ανακατευθύνει ή να ανακατευθύνετε μια ιστοσελίδα στην άλλη σε ένα διακομιστή Apache. Αυτό το διαπιστώσαμε μέσα από οδηγίες στο αρχείο .htaccess Μπορούμε να εκτελέσουμε τέτοια ανακατευθύνσεις, εφαρμόζοντας την Κωδικός κατάστασης να το Αίτηση HTTP πιο βολικό.
Αλλά πώς να το κάνετε αν έχετε την ανάγκη να εκτελέσετε ανακατεύθυνσης που βασίζεται σε ορισμένους; υπό όρους στη δική σας Κωδικός σε PHP? Και αν η σελίδα τι θέλετε ανακατεύθυνση λαμβάνεται από εκείνους υπό όρους? Αυτές οι καταστάσεις της κατάστασης δεν μπορούν να έχει ρυθμιστεί στο αρχείο .htaccess, και μόνο μπορείτε να το κάνετε άμεσα στον κώδικα του σας σελίδα.
Θα δείξω ως, από το δικό σας κώδικα της σελίδας σας σε PHP, Μπορείτε να κάνετε μια ανακατεύθυνση o ανακατεύθυνση σε άλλες σελίδες, υπό όρους ή δεν, από τις αναγκαίες και κατάλληλες συνθήκες που μπορεί να προκύψουν στον κώδικά σας.
Πώς να ανακατευθύνει σε άλλη σελίδα στην PHP
Να εκτελέσει τέτοιες ανακατευθύνσεις πρόκειται να χρησιμοποιήσετε τη μέθοδο κεφαλίδα PHP. Αυτή η μέθοδος επιτρέπει αποστέλλει κεφαλίδες HTTP χωρίς μορφή, που θα μας επιτρέψουν να κάνουμε αυτό που θέλουμε. Για να χρησιμοποιήσετε αυτήν τη μέθοδο, Θα πρέπει να έχετε κατά νου ότι θα πρέπει να το ονομάσουμε πριν από την του έχοντας κάνει ένα οποιοδήποτε εκτύπωση οθόνης, δηλαδή, πριν από οποιαδήποτε ετικέτα HTML ή οποιαδήποτε λειτουργία ηχώ, print_r ή παρόμοιο.
Για να εκτελέσετε μια επαναπροσανατολισμός απλή, σε οποιαδήποτε άλλη σελίδα, ο κώδικας είναι ως εξής:
1 | header('Location: urlDestino'); |
Ως urlDestino Μπορείτε να εισαγάγετε:
- Μια σελίδα: ‘ nuevaPagina.php’
- Μια σχετική διαδρομή: ‘ path/nuevaPagina.php’
- Μια απόλυτη διαδρομή στη διεύθυνση URL που θέλετε: ‘ http://midominio.es/nuevaPagina.php’
Τόσο η urlDestino ως το παρόν πραγματοποιήσετε την κλήση της μεθόδου κεφαλίδα Θα είμαστε σε θέση τον υπολογισμό τους μέσα από το ροή εκτέλεσης του μας δέσμη ενεργειών, μπορεί να κάνει ανακατευθύνσεις με βάση τις ανάγκες της ιστοσελίδας μας:
1 2 3 4 5 6 | if($_POST['variable'] == 'valor1'){ header('Location: urlDestino1'); } else{ header('Location: urlDestino2'); } |
Με τη μέθοδο κεφαλίδα Στέλνουμε Κεφαλίδες HTTP, από τι μπορεί επίσης να αναφέρει το Τύπος της ανακατεύθυνσης ότι κάνουμε, με την αποστολή, προηγουμένως, Οι πληροφορίες από την Κωδικός κατάστασης του ίδιου:
1 2 | header('Status: 301 Moved Permanently', false, 301); header('Location: urlDestino'); |
Έτσι όπως, με τη μέθοδο Κεφαλίδα PHP, Μπορείς ανακατεύθυνση o ανακατεύθυνση σε άλλες σελίδες, ακόμη και με βάση ορισμένες προϋποθέσεις που επιβάλλονται από το δικό σας κωδικό.