Rumah > Soal Jawab > teks badan
P粉6046694142023-07-29 13:29:04
Cuba gunakan yang berikut:
SetEnv DEFAULT_LANG en <IfModule mod_rewrite.c> Options +FollowSymLinks -Indexes RewriteEngine On RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{HTTP_HOST} ^([a-z]{2})\.([a-z0-9-]+\.[a-z]+)$ [NC] RewriteRule .* - [QSA,E=LANGUAGE:%1] RewriteCond %{ENV:LANGUAGE} ^$ RewriteRule .* - [QSA,E=LANGUAGE:en] RewriteCond %{QUERY_STRING} !language= RewriteRule ^(.*)$ ?language=%{ENV:LANGUAGE} [QSA] RewriteCond %{REQUEST_URI} !^/public RewriteRule ^(.*)$ /public/?language=%{ENV:LANGUAGE} [L,QSA] </IfModule>
Menggunakan perkara di atas, pengesanan bahasa harus berfungsi dengan baik walaupun semasa mengubah hala ke fail di bawah folder awam. Pembolehubah %{ENV:LANGUAGE} akan kekal tidak berubah sepanjang penulisan semula, jadi parameter bahasa yang betul harus dihantar ke fail dalam folder awam.