Συντόμευση μετάβασης σε μια σελίδα χωρίς redirect

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Συντόμευση μετάβασης σε μια σελίδα χωρίς redirect

Δημοσίευση από philos » 13 Ιαν 2013 18:03

Ξέρω σας έχω ταράξει στις απορίες :P Απλώς θέλω τις βέλτιστες λύσεις για αυτά που φτιάχνω καθώς είμαι αρχάριος. :)

Λοιπόν, θέλω όταν ο χρήστης ακολουθεί έναν σύνδεσμο της μορφής "www.mydomain.gr/name", να μεταβαίνει σε μια σελίδα στο site που έχω ορίσει για το "name". Μια καθαρά μπακαλίστικη λύση θα ήταν να φτιάξω έναν φάκελο στον server με ένα αρχείο index που κάνει redirect. Εδώ όμως μιλάμε για πολλές σέλιδες.
Έτσι, έχω τον πίνακα shortcuts με columns:
shortcutid (auto incr)
name
url

Επίσης έχω προσθέσει τις ακόλουθες γραμμές στο htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ router.php?var=$1 [L,QSA]

To router.php δέχεται την ονομασία του φάκελου που δεν βρέθηκε και τσεκάρει τον πίνακα shortcuts. Αν βρει αντιστοιχία με το name, κάνει redirect τον χρήστη στο url.

Αυτό που θα ήθελα όμως είναι όταν ο χρήστης μεταβαίνει στο mydomain.gr/name, να μην αλλάζει η διεύθυνση στη γραμμή διευθύνσεων του browser. Οπότε μάλλον θα πρέπει να βρω μια λύση που να μην κάνει redirect ( ? :roll: )
Πως μπορώ να φτιάξω κάτι τέτοιο σε αντιστοιχία με τον πίνακα shortcuts που θα έχει τα δεδομένα που θέλω;

Κάπως έτσι υποθέτω λειτουργούν και οι σελίδες με SEO, αν και εμένα αυτό που με νοιάζει είναι η συντόμευση μετάβασης, αφήστε που κακοφαίνεται να κάνει redirect και να αλλάζει η σελίδα στην address bar.

Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Συντόμευση μετάβασης σε μια σελίδα χωρίς redirect

Δημοσίευση από philos » 14 Ιαν 2013 15:11

Να σημειωθεί επίσης ότι η σελίδα προορισμός, είναι σελίδα του mydomain.gr. Δηλαδή δεν προσπαθώ να ανακατευθύνω τον επισκέπτη σε εξωτερική σελίδα, απλώς θέλω η συντόμευση name να τον πηγαίνει σε κάποια άλλη σελίδα του ίδιου του site, η οποία δεν είναι εύκολο να πληκτρολογηθεί.

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Συντόμευση μετάβασης σε μια σελίδα χωρίς redirect

Δημοσίευση από mrpc » 14 Ιαν 2013 18:55

Συνήθως αυτό που έχεις υλοποιήσει με το .htaccess το χρησιμοποιούμε για routing στην εφαρμογή χωρίς redirection. Δηλαδή, το router.php θα έπρεπε αντί να κάνει redirect, να φόρτωνε κατ' ευθείαν το περιεχόμενο που θέλεις να εμφανίσεις. Όμως, για να γίνει αυτό, πρέπει και το cms σου να έχει τον κατάλληλο σχεδιασμό.
Κάπως έτσι λειτουργούν τα περισσότερα cms. Π.χ. στο wordpress κάθε άρθρο παίρνει ένα unique "url" και όταν το χτυπάς σου εμφανίζει το άρθρο, δεν σε κάνει redirect κάπου αλλού.

Ένας τρόπος για να μην εμφανίζεις το αλλαγμένο url, είναι να φορτώνεις τη σελίδα σε ένα Frame. Έτσι έχεις το περιεχόμενο εύκολα + γρήγορα, χωρίς αλλαγή url.
Κάπως έτσι νομίζω δουλεύει το joomla όταν θες από ένα menu να εμφανίσεις εξωτερικό περιεχόμενο.

Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Συντόμευση μετάβασης σε μια σελίδα χωρίς redirect

Δημοσίευση από philos » 15 Ιαν 2013 18:38

mrpc έγραψε:Συνήθως αυτό που έχεις υλοποιήσει με το .htaccess το χρησιμοποιούμε για routing στην εφαρμογή χωρίς redirection. Δηλαδή, το router.php θα έπρεπε αντί να κάνει redirect, να φόρτωνε κατ' ευθείαν το περιεχόμενο που θέλεις να εμφανίσεις. Όμως, για να γίνει αυτό, πρέπει και το cms σου να έχει τον κατάλληλο σχεδιασμό.
Κάπως έτσι λειτουργούν τα περισσότερα cms. Π.χ. στο wordpress κάθε άρθρο παίρνει ένα unique "url" και όταν το χτυπάς σου εμφανίζει το άρθρο, δεν σε κάνει redirect κάπου αλλού.

Ένας τρόπος για να μην εμφανίζεις το αλλαγμένο url, είναι να φορτώνεις τη σελίδα σε ένα Frame. Έτσι έχεις το περιεχόμενο εύκολα + γρήγορα, χωρίς αλλαγή url.
Κάπως έτσι νομίζω δουλεύει το joomla όταν θες από ένα menu να εμφανίσεις εξωτερικό περιεχόμενο.
Πολύ καλή η ιδέα με το iframe. Την υλοποίησα με width και height 100% και δούλεψε, όμως υπάρχει το ακόλουθο πρόβλημα: όταν πας να μεταβείς/αλλάξεις σελίδα, δεν αλλάζει το url στην address bar :( Δηλαδή μπορεί ο άλλος να συνεχίσει να ψάχνει στο site με την address bar να έχει κολλημένο το mydomain.gr/name, λογικό αφού σερφάρει μέσα σε ένα frame. Το ζητούμενο όμως είναι μόνο η σελίδα στην οποία μπαίνει αρχικά ο χρήστης, να μην αλλάζει η διεύθυνσή της στην address bar.

Δοκίμασα και την τεχνική με τη readfile() της php. Κι αυτό δούλεψε καλά, όμως μου άνοιξα τη σελίδα χωρίς να λαμβάνει υπόψιν τα cookies (auto logging).

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Συντόμευση μετάβασης σε μια σελίδα χωρίς redirect

Δημοσίευση από mrpc » 15 Ιαν 2013 18:57

Βάλε στο header των σελίδων που ανοίγουν στο iframe αυτό: <base target="_parent" />

Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Συντόμευση μετάβασης σε μια σελίδα χωρίς redirect

Δημοσίευση από philos » 16 Ιαν 2013 22:10

Δούλεψε! Σε ευχαριστώ πολύ! :D

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες