为了检测所使用的浏览器语言并确保一次性重定向,我使用了 htaccess

问题描述 投票:0回答:1

当用户使用印尼语以外的浏览器语言时,我希望我的网站重定向到英语。我已经用 htaccess 成功实现了这一点。但是,我面临一个问题:当使用英语浏览器的用户已经在英语页面上并手动单击语言切换按钮到印度尼西亚语时,他们应该被定向到印度尼西亚语页面。目前,我无法使用英语浏览器在英语页面上将语言切换为印度尼西亚语。

# language is id (indonesia)
RewriteCond %{HTTP:Accept-Language} ^id [NC]
RewriteRule ^ - [L] 

# else redirect to the English version
RewriteRule ^$ /en/ [L,R=302]
.htaccess http-redirect
1个回答
0
投票

我已经按照你说的步骤写了js。但是,如果我使用英语浏览器并想使用印度尼西亚语,则不能。你能帮助改进我的代码吗

// Mendeteksi bahasa browser pengguna
var userLanguage = navigator.language || navigator.userLanguage;

// Mendapatkan preferensi bahasa pengguna dari localStorage
var preferredLanguage = localStorage.getItem('preferredLanguage');

// Jika tidak ada preferensi bahasa yang disimpan di localStorage
if (!preferredLanguage) {
    // Jika bahasa pengguna bukan bahasa Indonesia ('id')
    if (userLanguage !== 'id') {
        // Redirect ke halaman bahasa Inggris
        window.location.href = "https://www.ireappos.com/en";
    }
} else {
    // Jika preferensi bahasa adalah bahasa Indonesia ('id')
    if (preferredLanguage === 'id') {
        // Redirect ke halaman bahasa Indonesia
        window.location.href = "https://www.ireappos.com";
    }
}

// Fungsi untuk mengubah bahasa ke bahasa Indonesia dan menyimpan preferensi di localStorage
function changeToIndonesian() {
    localStorage.setItem('preferredLanguage', 'id');
    window.location.href = "https://www.ireappos.com";
}

// Fungsi untuk mengubah bahasa ke bahasa Inggris dan menyimpan preferensi di localStorage
function changeToEnglish() {
    localStorage.setItem('preferredLanguage', 'en');
    window.location.href = "https://www.ireappos.com/en";
}

© www.soinside.com 2019 - 2024. All rights reserved.