Come posso reindirizzare /? Lang = en a / en?

Jun 25 2019

Ho problemi a reindirizzare un sito Web multilingue a una pagina. Il mio reindirizzamento a htaccess non funziona correttamente. Ho bisogno di assistenza su come farlo. Nel mio htaccess, quando aggiungo queste due righe

RewriteCond %{QUERY_STRING} ^lang=en$
RewriteRule ^ /en? [R=301,L]

reindirizzamento funzionante, ma mysite.com/en mostra 404 non trovato. Qualcuno mi aiuta con questo?

Risposte

anubhava Jun 28 2019 at 11:50

La regola di reindirizzamento mostrata in questione funziona correttamente. Bot hai anche bisogno di una regola di riscrittura per gestire /en:

RewriteEngine On

RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{QUERY_STRING} ^lang=([a-z]{2})$
RewriteRule ^ /%1? [R=301,L]

RewriteRule ^([a-z]{2})/?$ ?lang=$1 [QSA,L]
Jojoma Jun 26 2019 at 10:18

Se il tuo browser finisce su mysite.com/en, il tuo reindirizzamento funziona, quindi la tua domanda non è come reindirizzare, ma perché non ci sono contenuti in / en sul tuo sito. Devi indagare su questo.