3

Nous souhaitons rediriger vers une version localisée de notre page Web d'entrée si une adresse IP est détectée dans un pays donné. Nous utilisons ASP.Net, GeoLite Country Db (c'est une très petite base de données téléchargeable 1Mb au moment de l'écriture de cette question). Ainsi, la plupart des utilisateurs obtiendraient du contenu en anglais, mais s'ils venaient d'un endroit local, ils auraient du contenu local servi par défaut. Bien sûr, ils seraient en mesure de changer la langue préférée à tout moment.Dois-je utiliser 301 pour les redirections sur site?

La question est: si www.example.com affiche par défaut default.aspx, devrions-nous (si nous détectons l'IP à "local"):

  1. Utilisez "301 Moved Permanently" et rediriger vers, disons, www.example.com/local.aspx, ou

  2. Rendez simplement le contenu approprié à l'intérieur default.aspx?

Nous aimerions savoir s'il y a des effets secondaires avec SEO ou des problèmes similaires avec l'une des approches?

Répondre

1

Je voudrais simplement livrer le contenu localisé de local.aspx et d'envoyer un Content-Location approprié en se référant à local.aspx avec elle. Ou, si vous souhaitez une redirection, utilisez le code d'état 307 pour indiquer une redirection temporaire.

+0

307 me semblait également approprié, mais les agents HTTP/1.0 ne le reconnaîtront pas. Je vais probablement le rendre. Dois-je utiliser 'Server.Execute' ou existe-t-il un autre moyen? – Groo

+0

@Groo: Vous pourriez répondre avec un 302 dans ce cas. – Gumbo

+0

Ok, c'est ce que nous allons utiliser. – Groo

2

Cela peut ne pas être la meilleure solution.

De wikipedia il est dit d'utiliser 300 pour différentes langues:

http://en.wikipedia.org/wiki/URL_redirection

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.1

La norme HTTP définit plusieurs codes d'état pour la redirection:

* 300 multiple choices (e.g. offer different languages) 
* 301 moved permanently 
* 302 found (originally temporary redirect, but now commonly used to specify redirection for unspecified reason) 
* 303 see other (e.g. for results of cgi-scripts) 
* 307 temporary redirect 
+0

Le code d'état 300 doit être utilisé si la négociation échoue. – Gumbo

+0

dans les documents il est dit "Si le serveur a un choix préféré de représentation, il DEVRAIT inclure l'URI spécifique pour cette représentation dans le champ Emplacement, les agents utilisateurs PEUVENT utiliser la valeur du champ Emplacement pour la redirection automatique. " –

+0

Mais la négociation n'échoue pas dans ce cas. Donc, en utilisant 300 n'est pas approprié. – Gumbo

Questions connexes