Tengo un sitio web y me gustaría redirigir a los visitantes de diferentes países a una ruta URL. Para este propósito, utilizo el siguiente código. El problema con este código es que siempre lo redirige a la misma URL, sin importar en qué enlace haga clic en la página. ¿Qué me estoy perdiendo?
<!-- IP REDIRECTING --> <script> // Geolocation Redirect let eng_list = ['BE', 'DK', 'FI', 'FR', 'IS', 'IT', 'HR', 'NL', 'RO', 'SK', 'HU', 'BG', 'GR', 'IE', 'GB', 'CA', 'LU', 'NO', 'PL', 'SE', 'RS', 'CZ', 'TR', 'US', 'AL', 'EE', 'LV', 'LT', 'MK', 'PT', 'SM', 'ES', 'IC', 'EA']; let presentUrl = location.href; let targetUrl = "https://www.homepage.de/en"; // Getting the country code from the user's IP if (presentUrl != targetUrl) { $.getJSON('https://ipinfo.io/json', function(data) { if (eng_list.includes(data.country)) { location.href = "https://www.homepage.de/en"; } }, "jsonp");}; </script>Su línea en el if siempre redirige al "subdominio" en inglés, ya que lo tiene codificado como tal a través de esta línea:
location.href = "https://www.homepage.de/en"; Aunque esto no es realmente un "subdominio", pero no viene al caso. Si desea que se apliquen diferentes idiomas, debe eliminar la codificación fija a /en y hacer que esa parte "varíe" según las condiciones necesarias.