Bagaimana cara mengalihkan /? Lang = en ke / en?
Saya mengalami masalah saat mengarahkan satu halaman situs multibahasa. Pengalihan saya ke htaccess tidak beroperasi dengan benar. Saya butuh bantuan bagaimana ini bisa dilakukan. Di htaccess saya, saat saya menambahkan dua baris ini
RewriteCond %{QUERY_STRING} ^lang=en$
RewriteRule ^ /en? [R=301,L]
redirect bekerja, tapi mysite.com/en show 404 not found. Seseorang membantu saya dengan ini?
Jawaban
anubhava
Aturan pengalihan Anda seperti yang ditunjukkan dalam pertanyaan berfungsi dengan baik. Bot Anda juga memerlukan aturan penulisan ulang untuk menangani /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
Jika browser Anda berakhir di mysite.com/en, pengalihan Anda berfungsi, jadi pertanyaan Anda bukanlah bagaimana cara mengalihkan, tetapi mengapa tidak ada konten di / en di situs Anda. Anda perlu menyelidikinya.
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'