web-dev-qa-db-fra.com

Page Web dupliquée (HTTP et HTTPS)

ma page Web est dupliquée à cause du certificat SSL (http: // example.com et https: // example.com). Je veux rediriger de http à https. Mais j'ai deux questions:

Si ma page Web contient plusieurs pages (Accueil, À propos de, Contact ...), dois-je effectuer une redirection pour chaque page? Ou simplement avec le http: // example.com et le reste de ses pages sera redirigé correctement?

J'ai consulté plusieurs sites Web et forums et j'en ai obtenu deux codes différents pour le fichier .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://example.com%{REQUEST_URI} [L,R=301]

Et il y a l'autre:

<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.example.com/$1 [R=301,L,QSA]
</IfModule>

Lequel est le bon ou le meilleur pour rediriger de HTTP vers HTTPS?

2
Paco

Si ma page Web contient plusieurs pages (Accueil, À propos de, Contact ...), dois-je effectuer une redirection pour chaque page? Ou simplement avec le http: // example.com et le reste de ses pages sera redirigé correctement?

Ni. Ce que vous voulez faire, c'est rediriger toute demande http vers https pour n'importe quelle URL. Les deux directives .htaccess que vous avez publiées ci-dessus le feront.

Lequel est le bon ou le meilleur pour rediriger de HTTP vers HTTPS?

Ils sont tous les deux corrects, jusqu'à un certain point. Les deux extraits supposent qu'Apache est le serveur Web. Le premier extrait suppose que mod_rewrite est présent, le second le vérifie d’abord, mais l’un ou l’autre devrait fonctionner. La seule autre différence significative est que la seconde appelle l'indicateur QSA qui conserve les chaînes de requête sur la réécriture. Vous pouvez ou non avoir besoin de cela.

De plus, les deux extraits appellent l'indicateur L (Last) qui indique qu'il s'agit de la dernière réécriture. Si vous effectuez des réécritures supplémentaires après celle-ci, supprimez l'indicateur L.

3
JCL1178