Reindicizzazione dell'URL: come indirizzare un'url verso l'url reale di un sito drupal, in base alla lingua del browser

13 contenuti / 0 new
Ultimo contenuto
Reindicizzazione dell'URL: come indirizzare un'url verso l'url reale di un sito drupal, in base alla lingua del browser

Sto studiando e strutturando concettualmente un nuovo progetto molto vasto.

Mi si pone d'avanti un problema per il quale cerco una via di risoluzione e chiarimenti.

io devo realizzare un portale multilingia con url www.dominio.tlc, che in realtà è suddiviso in tanti sitiweb, realizzati con drupal, uno per nazione.

L'utente che digita www.dominio.tlc deve essere reindirizzato al sito specifico in base alla lingua del browser (o eventualmente in base alla localizzazione geografica dell'ip).

Praticamente se digito www.dominio.tlc l'utente viene indirizzato ai seguenti siti web:

- uk.dominio.tlc
- it.dominoi.tlc
- es.domino.tlc
- us.dominio.tlc
- fr.dominio.tlc

in base alla lingua del browser (o altro).

In più, presumo ognuno di questi siti debba lasciare un cookie in modo che se l'utente anonimo che sceglie manualmente la lingua (e quindi il portale da seguire) possa ritrovarselo nei successivi accessi. Cioè se io sono tedesco e vino in spagna momentaneamente ed in uffcio mi hanno dato un computer in lingua spagnola e voglio visitare il portale specifico in lingua tedesca non devo necessariamente cambiare la lingua del browser o scegliere sempre a mano la lingua giusta.

Considerando che ogni sito per ogni nazione è in un sito drupal indipendente dagli altri... come si può gestire questa cosa?

Ciao,
se ti può essere d'aiuto per un progetto ho utilizzato i moduli:

Country Code API
IP to Country Code
IP to Locale

Dai miei test mi sembra si comportino nel modo che vuoi tu, ossia intercettano l'IP dell'utente e ridirezionano verso la lingua corrispondente... certo, io avrei agito (nel mio caso) partendo dalla lingua del browser piuttosto (purtroppo questa era una cosa espressamente chiesta dal cliente), dato che l'esempio che hai fatto tu casca a pennello (il problema di un utente che si trova all'estero e che viene indirizzato nella lingua che non è sua)...
;)

Ok Gioppy ... e se partiamo dalla lingua del browser, come si potrebbe fare?

Considera anche che il sito www.dominio.tlc in teoria non esiste, mentre esistono tutti gli altri siti.
Come fai a gestire il reindirizzamento verso altri siti?
Come fai a gestire il fatto che il sito www.domino.tlc non esiste? Fai forse in modo che www.dominio.tlc sia associato ad un sito di default tipo uk.dominio.tlc?

Di base, se vedi nelle impostazioni del modulo Locale, hai la possibilità o di impostare un percorso della lingua (www.dominio.tlc/it, www.dominio.tlc/en) oppure puoi impostare un sottodominio per la lignua (it.dominio.tlc, en.dominio.tlc)... è ovvio che anche la root del dominio deve esistere, quindi www.dominio.tlc (lingua neutrale)... in questo caso, provo a ipotizzare anche se non l'ho mai fatto, non credo si utilizzi dei sottodomini di drupal...
Per quanto riguarda il redirect, ho provato a fare una ricerca ma non ho trovato nulla... Comunque sia, la cosa non è molto complessa da fare, te la dovresti cavare con poco!
;)

Gioppy!...
ho fatto un rapidissimo test con Locale e mi sa che non è questa la soluzione al mio problema.

Qui c'è da considerare che si tratta di tanti siti web, separati tra loro.

li scrivo così per evitare confusione.
1.dominio.com
2.dominio.com
3.dominio.com

ogni sito ha impostata una lingua di default che è diversa da quella di tutti gli altri. Praticamente stiamo parlando di un sito italiano, un sito uk, un sito spagnolo, un'altro americano, ecc. Cioè un portale per ogni nazione che abbia attiva solo la lingua di quella nazione.

La questione non è cambiare la lingua del sito, ma fare in modo che quanto un'utente digiti www.dominio.com l'utente sia indirizzato al sito giusto che è quello corrispondente alla lingua del suo browser, per esempio 1.dominio.com.

Gestito questo problema, si può passare ad altre cose ad esso relative.

Come si fa?! :-|

Domanda: su che server deve girare tutta sta roba? La vedo un pò pesantina...
Detto questo, se ogni sottodominio è un'istallazione di Drupal, potresti tranquillamente fare un piccolo script php, che da www legge le informazioni del browser e ridireziona al sito specifico... Prova a cercare qualcosa su Google... questo è il primo che mi è saltato fuori: http://techpatterns.com/downloads/php_language_detection.php
;)

Gioppy, devo fare qualche test, ma questa già mi sembra una via molto interessante.

Ma secondo te ha senso fare un index.php che semplicemente ti apre il sito giusto oppure è più ragionevole agire tramite modrewrite?

Intendo dire:
virtualhost con www.dominio.tlc dove al suo interno c'è solo un index.php che reindirizza al giusto sito presente nel multisite di drupal.

Mentre con modrewrite
virtualhost www.dominio.tlc con al suo interno solo un file .htaccess che in qualche modo che ancora devo capire mi riscrive l'url in modo che venga apero il multisite di drupal che si trova in un'altro virtualhost.

Cosa pensi in merito?

Via htaccess non so se ci riesci... Sicuramente ci dovresti riuscire tranquillamente via php... Il problema, però, in questo caso è google: i siti, secondo me, ne risentirebbero in indicizzazione in quanto google non ama i redirect (almeno da quanto ricordo)... Però, avendo un virtual host, magari si riesce a fare la stessa cosa ma a livello server... Qui però non saprei aiutarti!
;)

se vuoi vedere un esempio di cosa ho cercato di spiegarti in questa discussione vai su
http://www.reuters.com

poi cambia l'edizione sceglie l'edizione italiana, francesce, tendesca, ecc ecc.. e vedi dove ti porta. e se scrivi http://www.reuters.it c'è un redirect che riscrive l'url nella forma it.reuters.com

tu come faresti qualcosa di simile?

jscm wrote:
se scrivi http://www.reuters.it c'è un redirect che riscrive l'url nella forma it.reuters.com

Questa operazione relativa al dominio può essere fatta direttamente via server.

Per l'altra domanda potresti inserire, nel dominio base, solo una pagina in php che reindirizzi alle varie lingue utilizzando questo sistema: http://www.visivagroup.it/showthread.php?t=22591

krima wrote:
jscm wrote:
se scrivi http://www.reuters.it c'è un redirect che riscrive l'url nella forma it.reuters.com

Questa operazione relativa al dominio può essere fatta direttamente via server.

ok!... direi questa parte è quasi completamente chiarita. Ma ti chiedo cmq di indicarmi come fare direttamente dal server l'operazione che hai indicato.
Usi modrewrite tramite .htaccess oppure lo imposti nei virtualhost?

L'ho fatto un paio di volte su server virtuali, ma non ricordo esattamente la procedura che ho usato.

La cosa è stata piuttosto semplice, non ricordo se durante la creazione del dominio tramite plesk o durante la procedura di acquisto, una delle opzioni è fare il redirect ad altro domino da specificare.

Sicuramente l'assistenza del servizio hosting che stai usando potrà chiarire come funziona con loro.

Ho controllato, se usi un pannello Plesk per gestire i tuoi domini è una cosa molto facile da fare: