Url rewrite και redirect

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

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

Απάντηση
Άβαταρ μέλους
EneMe
Super Moderator
Δημοσιεύσεις: 13307
Εγγραφή: 09 Ιούλ 2002 13:29
Τοποθεσία: Στο κέντρο της Ελλάδας!
Επικοινωνία:

Url rewrite και redirect

Δημοσίευση από EneMe » 02 Μαρ 2012 19:28

Κάνω ένα μεγάλο joomla site σε πολλές γλώσσες και ο τρόπος που έχω επιλέξει είναι στήσω ένα joomla σε μια γλώσσα -πχ αγγλική- στο www.domain.gr/en/ και μετά να αντιγράψω όλο το joomla σε νέο με τις άλλες γλώσσες.

Πχ το αγγλικό στο www.domain.gr/en/
το ελληνικό στο www.domain.gr/gr/
το ιταλικό στο www.domain.gr/it/
κλπ

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

Πχ όταν κάποιος είναι στο www.domain.gr/en/index.php/page/etc πατώντας στο ιταλικό σημαιάκι να μεταφέρεται www.domain.gr/it/index.php/page/etc

Άρα θέλω ένα κώδικα php που θα ψάχνει να βρει το ΧΧ στο www.domain.gr/ΧΧ/index.php/page/etc οποιοδήποτε κι αν είναι αυτό είτε έχει www είτε όχι, θα το αντικαθιστά με το ΥΥ, και θα κάνει ανακατεύθυνση στο www.domain.gr/ΥΥ/index.php/page/etc.
Το ΧΧ θα το ψάχνει (ότι κι αν είναι), ενώ το ΥΥ θα είναι συγκεκριμένο.

Ουσιαστικά κάθε κουμπάκι/σημαιάκι θα αναζητά να δει ποιό είναι το ΧΧ και θα του δίνει το συγκεκριμένο ΥΥ.

Μπορεί κάποιος να με βοηθήσει;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Url rewrite και redirect

Δημοσίευση από fafos » 02 Μαρ 2012 21:06

mia aplh lysh einai me request_uri:

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

	//array me tis glosses
	$langs = array( 'gr', 'en', 'it' );

	//pairnoume to url meta to domain
	$urlUri = $_SERVER['REQUEST_URI'];

	//pairnoume to domain
	$urlDomain = $_SERVER['SERVER_NAME'];

	//dhmiourgoume ta links
	foreach ( $langs as $lang )
	{

		//pairnoume to proto value
		$langVals = explode( "/", $urlUri );
		$langVal = $langVals[1];
		//pairnoume ta ypoloipa
		$restVals = str_replace( $langVal.'/', '', $urlUri );

		//ektyponoume ta links
		echo '<a href="http&#58;//'.$urlDomain.'/'.$lang.''.$restVals.'"><img src="'.$lang.'.png" />'.$lang.'</a> ';
	&#125;

an gnorizeis thn session ths glossas pou trexei hdh mporeis na apenergopoieis to link apo to analogo shmaiaki kai na afhneis energa ta ypoloipa:

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

	//array me tis glosses
	$langs = array&#40; 'gr', 'en', 'it' &#41;;

	//pairnoume to url meta to domain
	$urlUri = $_SERVER&#91;'REQUEST_URI'&#93;;

	//pairnoume to domain
	$urlDomain = $_SERVER&#91;'SERVER_NAME'&#93;;

	//dhmiourgoume ta links
	foreach &#40; $langs as $lang &#41;
	&#123;

		//pairnoume to proto value
		$langVals = explode&#40; "/", $urlUri &#41;;
		$langVal = $langVals&#91;1&#93;;
		//pairnoume ta ypoloipa
		$restVals = str_replace&#40; $langVal.'/', '', $urlUri &#41;;

		//ektyponoume ta links
		if &#40; $_SESSION&#91;'language'&#93; != $lang &#41;// ypothetikos titlos ths session
		&#123;
			echo '<a href="http&#58;//'.$urlDomain.'/'.$lang.''.$restVals.'"><img src="'.$lang.'.png" />'.$lang.'</a> ';
		&#125;
		else
		&#123;
			echo '<img src="'.$lang.'.png" />'.$lang.' ';
		&#125;
	&#125;
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...


Themis-T
Δημοσιεύσεις: 77
Εγγραφή: 20 Απρ 2009 16:04
Επικοινωνία:

Url rewrite και redirect

Δημοσίευση από Themis-T » 05 Μαρ 2012 15:40

Γιατί να τα κάνεις όλα αυτά και να μην χρησιμοποιήσεις το Joomfish του Joomla που κάνει ακριβώς αυτή τη δουλειά, όπως την περιγράφεις;
Λάβε υπόψη σου ότι το Joomla 2.5 έχει ενσωματωμένο σύστημα για τη μετάφραση του κειμένου...

Άβαταρ μέλους
EneMe
Super Moderator
Δημοσιεύσεις: 13307
Εγγραφή: 09 Ιούλ 2002 13:29
Τοποθεσία: Στο κέντρο της Ελλάδας!
Επικοινωνία:

Url rewrite και redirect

Δημοσίευση από EneMe » 06 Μαρ 2012 09:28

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

Δεν έχουμε καταλήξει εκεί επίσημα ακόμα, το παλεύουμε να πείσουμε για joomfish!

Απλά γίνεται προετοιμασία.

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

Url rewrite και redirect

Δημοσίευση από alou » 08 Μαρ 2012 14:03

Joomfish δεν παίζει για την ώρα τουλάχιστον σε 2.5. Κάτι που θα σε βοηθήσει στα conditional του template αν δεν πας σε joomfish:

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

$lang = JFactory&#58;&#58;getLanguage&#40;&#41;;
Η λύση που προτείνει ο fafos, προϋποθέτει ότι τα links εκτός του en / el κλπ είναι ίδια και τα links στο joomla χτίζονται είτε με aliases είτε με id's από κατηγορίες, άρθρα, menu κλπ.

Αν έχεις φτιάξει ολοκληρωτικά το ένα site και μετά το κάνεις copy (τη βάση) και απλά αλλάξεις το περιεχόμενο κρατώντας ίδια id / aliases και όταν προστεθεί περιεχόμενο γίνεται με την ίδια σειρά και και... θα είσαι ΟΚ :D μου φαίνεται πάντως λίγο δύσκολο.

Άβαταρ μέλους
EneMe
Super Moderator
Δημοσιεύσεις: 13307
Εγγραφή: 09 Ιούλ 2002 13:29
Τοποθεσία: Στο κέντρο της Ελλάδας!
Επικοινωνία:

Url rewrite και redirect

Δημοσίευση από EneMe » 08 Μαρ 2012 19:57

Υπάρχει και η "βρώμικη" λύση των πολλών διαφορετικών κατηγοριών/άρθρων/κλπ για κάθε γλώσσα στο ίδιο joomla χωρίς joomfish, αλλά το πράγμα θα βγει εκτός ελέγχου.

To joomfish για joomla 2.5 είναι alpha ακόμα, οπότε περιμένουμε.

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

Απάντηση

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

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

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