Bonjour,
Mon générateur de sites web construit automatiquement un fichier .htaccess comportant une redirection depuis la forme www vers le nom de domaine du site en cours de construction.
Me basant sur la documentation et les différents articles publiés sur le net, la section rewrite est générée comme indiqué ci-dessous (la séquence <domaine> ne sert ici que pour l'exemple, le générateur utilisant celui du site cible) :
L'instruction RewriteEngine on est quant à elle définie par ailleurs dans le fichier et tout fonctionne correctement une fois déployé chez l'hébergeur.
Cela étant, je développe dans le même temps un programme en Java devant me permettre d'auditer un site web complet (sécurité / conformité / performance + SEO à venir) et j'ai donc mis en place quatre instructions de test pour vérifier l'accès sans URI :
Comme prévu, chacune de ces URL m'amène bien in fine sur la page d'accueil du site, soit directement (code 200) soit via une redirection (code 301).
La sortie console du programme Java me donne ceci :
La présence de deux codes retour 200 ne me semble pas normale et susceptible d'entraîner du contenu dupliqué, or les instructions du fichier .htaccess devraient justement rediriger (donc avec code 301) la version avec https et www vers le nom de domaine natif. Seule l'URL https://<domaine>/ devrait, à mon avis, produire un code 200.
N'étant pas un spécialiste des fichiers .htaccess et après avoir fait quelques recherches complémentaires, quelqu'un sur le forum aurait-il une idée sur l'erreur commise dans les instructions ci-dessus ?
Merci d'avance pour les retours d'information.
Mon générateur de sites web construit automatiquement un fichier .htaccess comportant une redirection depuis la forme www vers le nom de domaine du site en cours de construction.
Me basant sur la documentation et les différents articles publiés sur le net, la section rewrite est générée comme indiqué ci-dessous (la séquence <domaine> ne sert ici que pour l'exemple, le générateur utilisant celui du site cible) :
<IfModule mod_rewrite.c>
# URL de base du site web
RewriteBase /
# Redirection vers HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://<domaine>%{REQUEST_URI} [R=301,L]
# Redirection www vers site standard
RewriteCond %{HTTP_HOST} ^<domaine>$
RewriteRule ^ https://<domaine>%{REQUEST_URI} [R=301,L]
# Redirection ressource non trouvée
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^ https://<domaine>/pages/erreur-404.php [R=301,L]
</IfModule>
L'instruction RewriteEngine on est quant à elle définie par ailleurs dans le fichier et tout fonctionne correctement une fois déployé chez l'hébergeur.
Cela étant, je développe dans le même temps un programme en Java devant me permettre d'auditer un site web complet (sécurité / conformité / performance + SEO à venir) et j'ai donc mis en place quatre instructions de test pour vérifier l'accès sans URI :
http://<domaine>/
https://<domaine>/
http://www.<domaine>/
https://www.<domaine>/
Comme prévu, chacune de ces URL m'amène bien in fine sur la page d'accueil du site, soit directement (code 200) soit via une redirection (code 301).
La sortie console du programme Java me donne ceci :
Connected to URL [http://<domaine>/] with status value [301]
-> Redirected to [https://<domaine>/]
Connected to URL [http://www.<domaine>/] with status value [301]
-> Redirected to [https://<domaine>/]
Connected to URL [https://<domaine>/] with status value [200]
Connected to URL [https://www.<domaine>/] with status value [200]
La présence de deux codes retour 200 ne me semble pas normale et susceptible d'entraîner du contenu dupliqué, or les instructions du fichier .htaccess devraient justement rediriger (donc avec code 301) la version avec https et www vers le nom de domaine natif. Seule l'URL https://<domaine>/ devrait, à mon avis, produire un code 200.
N'étant pas un spécialiste des fichiers .htaccess et après avoir fait quelques recherches complémentaires, quelqu'un sur le forum aurait-il une idée sur l'erreur commise dans les instructions ci-dessus ?
Merci d'avance pour les retours d'information.