Actuellement, la page d'accueil de mon site Web est accessible via ces URL:
www.example.com
, example.com
, www.example.com/index.html
et example.com/index.html
J'essaie donc de configurer les redirections pour que example.com
aille à www.example.com
ET que www.example.com/index.html
, www.example.com/index.html
aille à www.example.com
pour éviter les problèmes de contenu en double. J'ai essayé ceci dans le fichier . Htaccess:
RewriteEngine On
RewriteCond %{HTTP_Host} !^www\\.example\\.com$ [NC]
RewriteRule .? http://www.example.com%{REQUEST_URI} [R=301,L]
Redirect 301 /index.html http://www.example.com/
Mais j'ai reçu un message d'erreur indiquant qu'il y avait trop de redirections. De quoi ai-je besoin pour inclure ce fichier .htaccess
afin de rediriger cette 301? J'ai aussi des sous-domaines comme fr.example.com
, de.example.com
Alors, dois-je également écrire des règles/codes de redirection 301 distincts dans leur fichier .htaccess?
Quelque chose comme celui ci-dessous gèrera la redirection www canonique: -
RewriteEngine On
## canonical www 301 redirect
RewriteCond %{HTTP_Host} ^example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
La meilleure règle pour réécrire et gérer vos différentes URL de page d'accueil varie en fonction de la plate-forme de site Web sur laquelle votre site Web est construit. Quelque chose dans le sens de cela peut fonctionner si: -
## rewrite and 301 index pages
RewriteRule ^index\.(php|html?)$ http://www.example.com/ [R=301,L]