Sto provando a reindirizzare l'utente a sottodominio in base alla sua posizione di indirizzo IP. Ho un osservatore di caricamento della pagina che esegue una funzione su ogni richiesta e ottiene la posizione dell'utente e quando provo a reindirizzare su un altro dominio mi dà l'errore "Troppi reindirizzamenti" e non riesco a trovare un modo per risolvere questo problema .Reindirizzare Utente a sottodominio basato su IP
Attualmente il mio codice è simile come segue
string CountryName = "";
var Country = HttpContext.Current.Response.Cookies["Country"];
Country.Expires = DateTime.Now.AddDays(365);
var ip = HttpContext.Current.Request.UserHostAddress;
if (!string.IsNullOrEmpty(ip) && ip != null && ip != "127.0.0.1")
{
using (var client = new WebServiceClient(xxxxx, "xxxxxxxx"))
{
var IpCountry = client.Country(ip);
CountryName = IpCountry.Country.Name;
}
switch (CountryName)
{
case "Denmark":
if (Country.Value != CountryName)
{
Country.Value = CountryName;
HttpContext.Current.Response.Redirect("/");
}
break;
case "United Kingdom":
if (Country.Value != CountryName)
{
Country.Value = CountryName;
HttpContext.Current.Response.Redirect("/en");
}
break;
case "Germany":
if (Country.Value != CountryName)
{
Country.Value = CountryName;
HttpContext.Current.Response.Redirect("/de");
}
break;
case "Sweden":
if (Country.Value != CountryName)
{
Country.Value = CountryName;
HttpContext.Current.Response.Redirect("/se");
}
break;
case "Norway":
if (Country.Value != CountryName)
{
Country.Value = CountryName;
HttpContext.Current.Response.Redirect("/no");
}
break;
default:
if (Country.Value != CountryName)
{
Country.Value = CountryName;
//HttpContext.Current.Response.Redirect("http://www.google.com");
}
break;
}
}
else if (loadedArgs.pageview.Area.ID != 2)
{
HttpContext.Current.Response.Redirect("/choose-country");
}
ulteriormente più mi piacerebbe anche sapere che cosa potrebbe essere altri modi possibili per gestire questo scenario in altro modo migliore in modo tale codice non vengono eseguiti su ogni pagina caricare una volta impostati i cookie. Molte grazie in anticipo.
Vuoi dire che quando disattivi reindirizza a google stai ricevendo errore in molti reindirizzamenti? –
@VolodymyrBilyachat No, Quando commento tutti i reindirizzamenti funziona benissimo altrimenti mi dà errore Troppi reindirizzamenti. che però ha senso visto che questo codice gira sul caricamento della pagina e, dopo averlo reindirizzato, esegue nuovamente il codice ed entra in un ciclo infinito. Quindi voglio capire come prevenirlo? –
Dove stai attualmente impostando un cookie con il nome del paese? – Evk