Newsgroup: it.lavoro.professioni.webmaster
Titolo: Finestra per Italia o finestra altri stati

Ciao, come posso fare per fare in modo che un link venga indirizzato ad una 
pagina 'A' se il visitatore � italiano e ad una pagina 'B' in tutti gli 
altri casi?
Grazie 

 altri casi?
non puoi sapere se il visitatore è "italiano".
quello che puoi sapere con relativa facilità è se proviene da un ip
gestito da un provider che ha sede in Italia.
se cerchi tra i messaggi di pochi giorni fa ne troverai uno mio che si
intitola "db geolocalizzazione ip" o qualcosa del genere, potresti
partire da lì.
in sostanza i casi sono due.  o ti colleghi ad un servizio (ce ne sono
diversi tutti a pagamento) al quale passi l'ip e lui ti restituisce la
nazione e a volte pure la città del visitatore (o meglio, quella che
il suo provider dice essere la città), oppure scarichi un db *molto*
sostanzioso (3-400 Mb) da aggiornare di tanto in tanto che contiene
gli ip e le località corrispondenti.  ovviamente una volta importato
localmente potrai filtrare le località che non ti interessano e
ridurre le dimensioni del db stesso.
sono tutte procedure relativamente complesse, che presuppongono
familiarità con programmazione lato server e gestione di db, per cui
se cerchi un copiaincolla non si può fare.
o magari si può fare facilmente con servizi a pagamento.
se hai le competenze di cui sopra potresti magari scaricare
l'estensione joomlastat (statistiche di accesso per il cms joomla) che
tra l'altro dà anche gli accessi per nazione e vedere come fa.
oppure metti semplicemente un clic a scelta per l'utente.

"Tommy" <To...@tom.tom> ha scritto nel messaggio
news:fxnTm.105477$9f6.1...@twister1.libero.it...

Ho un programma che ha una estenzion IP2Country, casomai � una routine che
trovi in giro.

 altri casi?
Hai due possibilita', come ti e' stato consigliato guardare l'ip, 
altrimenti puoi cercare di capire la lingua del browser, tutti i browser 
dovrebbero dare la possibilita' di capire in che lingua sono utilizzati.
Ciao
-- 
MMM

 dovrebbero dare la possibilita' di capire in che lingua sono utilizzati.
vero, in effetti la lingua del browser sta nella stringa dell'user
agent.
ulteriori info su:
http://www.useragents.org/
il mio firefox ha una cosa del genere:
Mozilla/5.0 (Windows; U; Windows NT 6.0; it; ...
opera:
Opera/9.80 (Windows NT 6.0; U; it) ...
la cosa purtroppo non è affidabile al 100% perché la mia versione
italiana di chrome mi dà:
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) ...
e ie8 mi pare non restituire niente di interessante al riguardo.

 Grazie 
Se vuoi conoscere la lingua preferita dall'utente, devi esaminare il campo
Accept-Language della richiesta del browser, come specificato nell'RFC 2616
par. 14.4. Questo campo riporta le lingue riconosciute dall'utente insieme a un
indice di preferenza: la lingua con la preferenza maggiore è quella che
normalmente l'utente parla.
Una volta determinata la lingua preferita, poi fai il solito reinvio con
"Location" alla pagina relativa.
Per un esempio di codice PHP che fa il parsing del campo Accept-Language puoi
cercare il mio messaggio sul newsgroup comp.lang.php cercando la funzione
GetAcceptLanguagesArray lì definita. Per altri sistemi di sviluppo non so.
Nello stesso thread, Michael Fesser ricorda anche che alcuni WEB server, come
Apache, integrano già questa funzionalità e permettono di scrivere diverse
versioni della stessa pagina nelle diverse lingue. Per maggiori info su questo
punto vedi 
http://httpd.apache.org/docs/2.2/content-negotiation.html
Eviterei invece il meccanismo della geo-localizzazione dell'IP perché è
oneroso, dà risultati incerti, e poi quello che ti interessa è presentare la
pagina nella lingua riconosciuta dall'utente, indipendentemente dal posto in
cui si trova in quel momento (se io vado a Tokio non mi interessa di vedere il
giapponese perché tanto non ci capirei niente, mentre invece voglio vedere le
pagine in una delle lingue che conosco come italiano e inglese, preferibilmente
italiano).
Ciao,
 ___ 
/_|_\  Umberto Salsi
\/_\/  
www.icosaedro.it