+ Rispondi alla Discussione
Risultati da 1 a 3 di 3

Sito multilingua

Ultimo Messaggio di lobster il:
  1. #1
    User Newbie
    Data Registrazione
    Sep 2012
    Località
    venezia
    Messaggi
    4

    Sito multilingua

    salve a tutti


    premetto che ho già cercato nel forum ma non sono stato in grado di risolvere il mio problema:


    devo costruire un sito e mi serve la gestione multilingua
    vorrei creare file unici che poi si traducono a seconda della lingua scelta (questo lo so fare)
    devo riuscire a inserire il riferimento alla lingua nell'url senza però compromettere il percorso fisico di file e cartelle (esempio: "www .. dominio .. ext/cartella/con/contenuto" diventa "www .. dominio .. ext/it/cartella/con/contenuto" nel caso seleziono la lingua italiana)


    quello che mi serve è il codice HTACCESS per far si che nel percorso "fisico" delle varie cartelle venga inserita l'indicazione della lingua da poter poi estrarre in php per le operazioni di settaggio della lingua.


    alcuni esempi:


    [digitando] ---> [diventa]


    www .. dominio .. ext ---> www .. dominio .. ext/it/home
    www .. dominio .. ext/it ---> www .. dominio .. ext/it/home
    www .. dominio .. ext/en ---> www .. dominio .. ext/en/home
    www .. dominio .. ext/demo ---> www .. dominio .. ext/it/demo


    www .. dominio .. ext/queste/sono/diverse/cartelle ---> www .. dominio .. ext/it/queste/sono/diverse/cartelle


    mi sapete aiutare?


    online trovo solo script che si fermano a una cartella superiore o puntano a un file specifico oppure sono limitate in altri modi o richiedono sempre un livello minimo di livelli.


    grazie mille a tutti!!!

  2. #2
    Utente Premium
    Data Registrazione
    Nov 2018
    Località
    Ragusa
    Messaggi
    266
    Aggiungi flaviors200 su Google+ Aggiungi flaviors200 su Facebook Aggiungi flaviors200 su Linkedin
    Ciao,

    non so cosa usi (framework, cms, php puro) però queste cose andrebbero gestite tramite un routing, ossia un sistema che gestisce le richieste in base all'URL.

    Nell'htaccess va messo il codice per dirottare tutte le richieste ad un unico file (il front controller) di solito index.php

    Il file index.php gestisce tutte le richieste e tramite la variabile globale $_SERVER['REQUEST_URI'] recuperi l'URL

    Quindi se visiti ad esempio sito.it/it/pagina, dentro $_SERVER['REQUEST_URI'] avrai il valore "/it/pagina" che successivamente potrai esplodere con la funzione explode() (rimuovendo il primo /) ottenendo così un array. Nel primo elemento dell'array hai il campo lingua (it nel nostro esempio).

    Ti lascio questa risorsa per approfondire https://www.taniarascia.com/the-simplest-php-router/ oppure googla "routing php" o "router php".

    Ti sconsiglio di creare fisicamente i file sul server, sarai costretto a duplicare codice inutilmente, insomma non è una buona pratica

    Do per scontato che recuperi il contenuto delle pagine da un database.
    Sviluppo siti web dinamici e gestionali | Flaviobiscaldi.it

  3. #3
    User Newbie
    Data Registrazione
    Sep 2012
    Località
    venezia
    Messaggi
    4
    grazie mille per l'aiuto e il suggerimento!
    si, il sito sarà tutto su database e ora grazie ai tuoi consigli sto vedendo di procedere con un unico file index.php che vada poi a richiamare le varie funzioni che mi servono!

    per chi avesse bisogno lascio il codice che ho usato (recuperato online):

    Codice PHP:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule 
    ^(it|en)/?([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/? index.php?a=$1&b=$2&c=$3&d=$4&e=$[L,QSA]
    </
    ifModule
    grazie ancora!

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.