web-dev-qa-db-fra.com

Comment masquer une redirection 301 de mon domaine racine?

J'analysais ma page Web en utilisant un outil en ligne où je voyais que mon statut HTTP pour mon nom de domaine racine www.example.com entraînait une redirection 301 vers www.example.com/index.html.

Je préférerais beaucoup que mon domaine racine renvoie un résultat 200 à la place - mais j'ai configuré mes redirections 301 il y a longtemps et je ne sais plus trop comment modifier mon code pour résoudre ce problème. J'ai remarqué que le domaine racine principal de mon site Web disparaissait des SERP (remplacé, dans la plupart des cas, par une page de sous-domaine) et je crains que cette redirection 301 puisse affecter la capacité de classement de mon domaine racine.

Mon fichier .htaccess commence par ce code:

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

Suivi de mes redirections individuelles.

Ma page index.html contient le code:

<link rel="canonical" href="http://www.example.com">  

Et j'ai des outils Google pour les webmasters configurés pour que toutes les instances de pages non-www apparaissent comme leur version www.

Une partie de ce code est-elle redondante? Que dois-je changer pour obtenir un résultat HTTP 200 pour ma racine?

1
Virage
RewriteRule ^$ /index.html [L]

Cela indiquera à Apache de traiter le résultat sur example.com comme un résultat sur example.com/index.html sans redirection (l'URL reste la même).

Le code que vous avez déjà (les 2 dernières lignes) indique à Apache de ne pas rediriger l'URL avec le préfixe www en une URL précédée de www (par exemple, http://example.com/somepage.html => http://www.example.com/somepage.html).

4
LazyOne