multilanguage rewrite rule

Τεχνικές και μόνο Συζητήσεις για WEB hosting servers, Mail servers, DNS servers. Όχι αναζήτηση υπηρεσιών εδώ!

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

Απάντηση
quit
Δημοσιεύσεις: 147
Εγγραφή: 09 Δεκ 2008 11:54

multilanguage rewrite rule

Δημοσίευση από quit » 16 Οκτ 2014 19:36

Καλησπέρα παιδια, έχω το παρακάτω :


RewriteRule ^([a-zA-Z0-9-/]+)$ project.php?url=$1&lang=el
RewriteRule ^([a-zA-Z0-9-/]+)/$ project.php?url=$1&lang=el

ολα καλά όταν έχω ελληνικά. Το θέμα μου είναι όταν θέλω να αλλάξω γλώσσα και θέλω να επιλέξω αγγλικά δεν ξερω πως πρεπει να το κανω?

quit
Δημοσιεύσεις: 147
Εγγραφή: 09 Δεκ 2008 11:54

multilanguage rewrite rule

Δημοσίευση από quit » 16 Οκτ 2014 23:22

βασικά αυτό που ζητάω είναι όταν έχω στο url για παραδειγμα

www.mysite.gr/project1

το οποιο δουλευει μια χαρα στα ελληνικά.
Τι πρέπει να κάνω όταν πατήσω την σημαία για να αλλάξει η γλώσσα στα αγγλικά να παραμείνει το url πανω όπως ειναι αλλά να αλλάξει το session του lang από el σε en και να εκτελεστεί το query και να εμφανίσει την αγγλική πληροφορία?

Ευχαριστώ.

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

multilanguage rewrite rule

Δημοσίευση από alou » 16 Οκτ 2014 23:42

Δεν μπορεί να υπάρχει ίδιο url για 2 γλώσσες, φυσικά και θα αλλάξει το session αλλά για άλλους λόγους, ένα get request πρέπει να έχει πάντα το ίδιο αποτέλεσμα οπότε σίγουρα αλλάζει και το url, πχ
/el/something => project.php?name=something&lang=el
/en/something => project.php?name=something&lang=en

Για δοκίμασε κάτι τέτοιο

Κώδικας: Επιλογή όλων

RewriteRule ^(en|el)(/(.*))$ $2/project.php?language=$1 [L]

quit
Δημοσιεύσεις: 147
Εγγραφή: 09 Δεκ 2008 11:54

multilanguage rewrite rule

Δημοσίευση από quit » 16 Οκτ 2014 23:55

στο λινκ τησ γλωσσας δηλαδη θα γραψω <a href="project.php?language=en">en</a>

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

multilanguage rewrite rule

Δημοσίευση από alou » 17 Οκτ 2014 08:08

Μα το rewrite το κάνεις για πιο όμορφα url, αυτό δεν είναι το ζητούμενο? άρα οδηγείς το request για /el/something στο index.php?this=that... με το rewrite που κάνεις σο htaccess.

Στο link της γλώσσας είτε θα πας στην αρχική της (/en, /el) είτε θα πάρεις και την παράμετρο περιεχομένου που έχεις (/en/something) και θα χρησιμοποιήσεις στο link (/el/something)

quit
Δημοσιεύσεις: 147
Εγγραφή: 09 Δεκ 2008 11:54

multilanguage rewrite rule

Δημοσίευση από quit » 17 Οκτ 2014 09:56

καλημέρα alou και σε ευχαριστω για την απαντηση σου.
αν το κάνω ετσι οπως μου λεσ θα πρέπει το αρχειο μου να είναι σε κάποιο φάκελο /en?

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

multilanguage rewrite rule

Δημοσίευση από alou » 17 Οκτ 2014 12:38

Το url που ουσιαστικά θα λειτουργεί, είναι το index.php?foo=bar&this=that

Το rewrite αλλάζει τα /bar/foo σε παραμέτρους του url που θα καταλάβει η php. Το αρχείο σου είναι το index.php και είναι λογικά στο root.

Απάντηση

Επιστροφή στο “Apache, IIS, DNS Servers”

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

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