web-dev-qa-db-fra.com

Les redirections 301 de www vers le domaine nu devraient-elles inclure le chemin du référencement?

J'essaie de trier une redirection pour mon site de www vers le domaine "naked".

Ma redirection fait actuellement ceci:

www.example.com -> example.com
www.example.com/test.html -> example.com

Est-ce le comportement correct? Ma seule préoccupation est la suivante: est-il correct d'utiliser une redirection 301 pour la ramener à la une, quelle que soit sa provenance?

Je penserais que ce serait le comportement attendu serait plutôt ceci:

www.example.com -> example.com
www.example.com/test.html -> example.com/test.html

J'ai implémenté cette redirection sur le serveur Web nginx.

1
J.Zil

Le code d'état HTTP 301 est nommé "déplacé de façon permanente":

Un nouvel URI permanent a été attribué à la ressource demandée et toute référence future à cette ressource DEVRAIT utiliser l'un des URI renvoyés.

Ainsi, la ressource (votre document) resterait la même, elle obtiendrait simplement un nouvel URI.

Comme votre page d'accueil http://example.com/ n'est pas (généralement) la même ressource qu'une page telle que http://www.example.com/test.html, l'utilisation du code d'état 301 ne serait pas correcte.

Ou en d'autres termes: oui, incluez le chemin.

3
unor

Je penserais que ce serait le comportement attendu serait plutôt ceci: www.example.com -> example.com www.example.com/test.html -> example.com/test.html

C'est une bonne idée. Mappez simplement les dernières parties de l'URL (notamment le dossier et le fichier) de l'ancien domaine vers le nouveau domaine. Vous pouvez facilement utiliser mod-rewrite si vous avez Apache. Créez simplement un fichier .htaccess dans le dossier où se trouve la racine du document www.example.com et ajoutez ce qui suit:

RewriteEngine On
RewriteCond %{HTTP_Host} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

Ainsi, tout sera bien redirigé de la version www vers la version non-www.

Ma seule préoccupation est la suivante: est-il correct d'utiliser une redirection 301 pour la ramener à la une, quelle que soit sa provenance?

La seule fois où vous devriez rediriger une URL vers la page d'accueil est si cette URL était la page d'accueil dans le passé. Par exemple, si votre page d’accueil précédente se trouvait à l’URL http://www.example.com/homepage.html et que la nouvelle page d’accueil est simplement example.com, vous pouvez utiliser un code de retour 301 sur http://www.example.com/homepage.html et redirigez-le vers example.com.

Assurez-vous de tout tester car vous ne voulez pas vous retrouver avec trop de redirections ou vous verrez dans votre navigateur un message similaire à "le document a été déplacé ici" et lorsque vous cliquez sur "ici", le même message réapparaît.

2
Mike

Je configure toujours la redirection 301 du domaine www.example.com vers example.com. Ce code vous aide à:

server
{
    server_name www.example.com;
    return      301 $scheme://example.com$request_uri;
}
1
Max Lazar