WPML

Se WPML non ti permette di scegliere le directory delle lingue (ad esempio http://example.com/es/ per lo spagnolo), è perché ha provato ad accedere a quell'URL e ha riscontrato un errore. Ecco cosa puoi controllare per assicurarti che le directory delle lingue funzionino.


Ecco cosa devi configurare affinché le directory delle lingue funzionino:

  1. Abilita la riscrittura degli URL.

  2. Consenti a WordPress di avere accesso in lettura e scrittura alle cartelle.

  3. Assicurati che il tuo sito utilizzi una struttura dei permalink “pretty”.

Come puoi vedere, non è necessario creare directory fisiche sul server. Scegliere di avere le lingue nelle directory è possibile tramite la riscrittura dell'URL.

Come WPML determina se può abilitare le lingue nelle directory


WPML prova ad accedere a una chiamata di test che verifica se le lingue nelle directory funzioneranno. Questa chiamata di test è:
yourdomain/LANGUAGE/?____icl_validate_domain=1

Ad esempio, per verificare se lo spagnolo è abilitato per il nostro dominio (wpml.org), andremmo al seguente URL nel nostro browser:

http://wpml.org/es/?____icl_validate_domain=1

Quando lo fai, ottieni una pagina che sembra vuota. Fai clic con il tasto destro del mouse sulla pagina e seleziona Visualizza sorgente pagina. Dovresti vedere il seguente contenuto:

<!--http://wpml.org-->

Questo dice a WPML che WordPress consente l'accesso a questa struttura di URL. Se la chiamata ha esito positivo, WPML consentirà di usare le lingue nelle directory. In caso contrario, riceverai una sorta di messaggio che spiega (più o meno) qual è il problema.

Se WPML vede una pagina di errore, disabilita questa funzionalità e mostra quel messaggio di errore rosso, con le possibili spiegazioni del perché è stata disabilitata.

Importante: WPML accede all'URL di convalida effettuando una chiamata fopen a quest'ultimo. Normalmente, è simile a ciò che fanno i browser, ma non è la stessa cosa. Assicurati che fopen sia abilitato sul tuo server. Puoi aggiungere quanto segue al tuo file di configurazione PHP per assicurarti che non sia bloccato:

SecFilterEngine Off

Assicurati che WordPress abiliti la riscrittura degli URL


Per abilitare la riscrittura degli URL, WordPress crea un file chiamato .htaccess nella cartella in cui è installato. WordPress crea questo file se stai utilizzando URL diversi da quelli predefiniti. Quel file dovrebbe contenere quanto segue:
# BEGIN WordPress

<IfModule mod_rewrite.c>

  RewriteEngine On

  RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule . /index.php [L]

</IfModule>

# END WordPress

Se non esiste, prova a crearlo. Se esiste ma è vuoto, copia questi contenuti e salva.

Cosa significa poter riscrivere gli URL?


La riscrittura degli URL è un meccanismo complesso, utilizzato intensamente da WordPress. Affinché funzioni, il server web (normalmente, Apache) deve essere in grado di riscrivere gli URL e a WordPress deve essere consentito di gestire la logica di riscrittura.

In Apache, mod-rewrite esegue la riscrittura degli URL. È un modulo abbastanza standard che è abilitato per impostazione predefinita. Se stai utilizzando Apache e non riesci ad attivare le directory delle lingue, controlla che mod-rewrite sia attivo per il tuo sito. Se non sei sicuro di come fare, invia un'e-mail al tuo provider di hosting. Puoi usare questo testo:

Salve!

Un plugin per WordPress che voglio utilizzare richiede che il modulo mod-rewrite sia abilitato. Potete controllare e dirmi se mod-rewrite è abilitato per il mio sito web? http://example.com


Supponendo che sia abilitato, WordPress ora deve essere in grado di controllare le regole di scrittura degli URL. Affinché ciò avvenga, WordPress deve poter scrivere nella cartella in cui è installato.

Assicurati che WordPress abbia accesso in lettura e scrittura alle cartelle


Di nuovo, se stai utilizzando Apache, scopri con quale utente viene eseguito Apache e consenti a quell'utente l'accesso in lettura e scrittura alla cartella in cui è installato WordPress. Puoi farlo utilizzando il tuo programma FTP, tramite shell o via e-mail.
Di nuovo salve,

Ho bisogno di un altro favore. Ho installato WordPress in questa directory:

LA_TUA_DIRECTORY_DI_INSTALLAZIONE_DI_WP

Potete modificare i permessi dei file per l'intera directory (in modo ricorsivo), in modo che il server web possa sia leggere che scrivere lì? Ho bisogno che WordPress sia in grado di scrivere su alcuni dei file.


Ora, controlla di nuovo.
Il tuo sito deve utilizzare una struttura dei permalink “pretty”. Puoi modificare la struttura dei permalink del tuo sito nelle impostazioni di WordPress.

Risoluzione dei problemi


Se utilizzi una CDN, come Cloudflare, questa potrebbe impedire alle lingue nelle directory di funzionare correttamente rimuovendo i commenti HTML. Di conseguenza, potresti visualizzare un errore falso positivo, che mostra un avviso relativo a ?____icl_validate_domain=1 senza alcun problema sul front-end.

Hai bisogno di aiuto?


Se ancora non funziona, invia una richiesta di supporto al supporto di WPML.

Scritto da Amir · Ultimo aggiornamento 18 ottobre 2024