Originalmente inviato da
pietrovischia
... e quindi non avrei il problema del casino delle pagine, essendo l'inglese in una sottodirectory...
E invece di mettere quei link, per far sì che si possa cambiar lingua sempre mi basterebbe mettere
<?php
list($dummy,$tenere)=split('//',$_SERVER['PHP_SELF'],2);
list($dymm2,$mystuff)=split('/',$tenere,2);
echo <a href="http://pietrovischia.altervista.org/$mystuff">Italiano</a><br><a href="http://en.pietrovischia.altervista.org/$mystuff">English</a>;
?>
No no... aspetta...
Niente sotto-directory!!!
Sfruttiamo SOLO la possibilità di indicare sotto-domini illimitati, SENZA star lì a impostarli da pannello Altervista! Quello serve -anche se non l'ho mai usato sinceramente- solo per venire incontro a chi vuole associare -appunto- una sottocartella ad un sottodominio. Qui non serve nulla di tutto questo.
E perché complicare quel codice prima dei link.. andavano bene così com'erano, servono solo per passare con un clic (come da topic) da un sottodominio all'altro e basta, non serve neanche codice php, solo semplici link HTML.
POI, come dicevo su, cliccando su uno dei due link (anche di più volendo) di cambio sottodominio/lingua, qualsiasi pagina php del sito, se organizzata un minimo in modo da leggere la propria configurazione php in un include generico, eseguirà un codice comune che andrà semplicemente a controllare nell'hostname corrente:
$HTTP_SERVER_VARS["HTTP_HOST"]
se la stringa ritornata inizia per: "en." oppure no.
Una cosa del genere per capirci meglio:
Codice PHP:
$subdom = substr($HTTP_SERVER_VARS["HTTP_HOST"], 0, 3);
$lang = ($subdom == 'en.')? 1 : 0; //1 = inglese, 0 = italiano
Poi fai come dicevi nel primo post, nella pagina basta mostrare testi diversi in base alla lingua indicata nella variabile $lang:
Codice HTML:
<div>
<?= ($lang)? "G'day mate! How're ya doin'?" : "Ciao ciccio! Come butta?" ?>
</div>
la condizione ($lang) ovviamente sottintende $lang>0 poi ognuno usa quella che gli viene più comoda.
Spero sia più chiaro