Selon la spécification , les en-têtes d'emplacement utilisés dans une redirection nécessitent un nom de serveur
HTTP/1.1 301 Moved Permanently
...
Location: http://example.com/foo/baz/bar
Cependant, en 2012, la plupart des navigateurs Web reconnaîtront un chemin relatif et vous redirigeront vers le nouvel emplacement en utilisant le nom de serveur d'origine
HTTP/1.1 301 Moved Permanently
...
Location: /foo/baz/bar
Y a-t-il des conséquences négatives / surprenantes à l'utilisation des URL relatives dans les en-têtes d'emplacement? Ma préoccupation particulière est de savoir comment Google / les moteurs de recherche interpréteront cela, mais s'il y a autre chose auquel je ne pense pas, j'aimerais l'entendre.
seo
redirects
301-redirect
http
http-headers
Alan Storm
la source
la source
Réponses:
Selon la version actuelle de la norme HTTP / 1.1, RFC 2616, la valeur de l'en-
Location
tête doit être un URI absolu .Cependant, dans le projet de norme préparé par le groupe de travail HTTPbis pour remplacer éventuellement la RFC 2616, cela a été modifié pour autoriser également les URI relatifs, apparemment parce que :
Dans la pratique, AFAIK à peu près tous les principaux navigateurs et moteurs de recherche comprennent et acceptent les redirections HTTP vers des URL relatives. Cependant, jusqu'à ce que le projet HTTPbis devienne un jour la norme officielle et soit largement adopté, il y aura toujours des agents utilisateurs nouveaux ou obscurs qui implémenteront la norme actuelle à la lettre et n'accepteront que des URL absolues. Ainsi, la chose sûre à faire, pour l'instant, est de n'utiliser que des URL absolues dans les en-
Location
têtes, comme le suggère la loi de Postel :la source
La section 14.30 de la RFC HTTP 1.1 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 n'est pas significativement différente. Je ne sais pas si vous allez voir de réelles limitations pratiques pour cela.
La seule fois où j'ai vu même un avertissement à propos de ce problème, c'est quand j'avais l'habitude de tester dans Lynx et que l'emplacement n'était pas absolu, il vous avertirait "La valeur de l'emplacement n'est pas absolue" - mais si je me souviens bien, cela vous laisserait quand même partir au nouvel emplacement. Je viens de tester Lynx 2.8.7 et il semble qu'il ne le fasse plus, bien que cela puisse être un problème de configuration.
Maintenant, vous dites:
Je pense que cela mérite un test. Je mettrais en place une URL, la mettrais dans le plan du site xml de votre site et que cette URL soit une redirection comme vous le décrivez. Je pense que la chose à faire est de le vérifier à l'aide des outils Google pour les webmasters et de voir s'il y a des conséquences négatives.
la source