Codes redirection https
Portrait Olivier Duffez

Olivier Duffez

Créateur de WebRankInfo,
consultant en référencement

Tout pour la redirection HTTP vers HTTPS (.htaccess, Apache, IIS, Nginx, Lighttpd)

Si votre site est en HTTPS, il faut mettre en place une redirection 301 de toute URL en HTTP vers son équivalent en HTTPS. Idem pour l’inverse ! Cet article explique comment faire (sous Apache, IIS, Lighttpd et Nginx).

Article mis à jour le 04/08/2017  (compléments et ajout de questions-réponses), publié initialement le 17/12/2014

Redirection HTTP vers HTTPS : OVH

Depuis juillet 2016, TOUS les sites hébergés sur un serveur mutualisé chez OVH ont un certificat SSL (gratuit) activé sur leur hébergement (source). Si c’est votre cas, cela signifie qu’il est probable que votre site soit désormais accessible en HTTPS, même si vous n’avez rien prévu pour ça.

Et comme Google cherche à indexer et positionner en priorité la version HTTPS d’une page si elle est disponible, il est fort probable que votre site commence à être consulté en HTTPS même si vous n’avez rien demandé.

Si vous avez des publicités AdSense, il est tout à fait possible qu’elles ne s’affichent plus sur votre version HTTPS, en tout cas si vous avez un vieux code AdSense (je l’ai rencontré).

Vous avez 2 solutions :

  • maintenir votre site en HTTP, au moins pour l’instant. Dans ce cas, je vous conseille de désactiver SSL dans les paramètres de votre hébergement OVH, mais aussi de mettre en place les redirections HTTPS vers HTTP listées ci-dessous
  • migrer complètement vers HTTPS

Si vous optez pour la solution 2, préparez bien votre migration pour ne pas perdre en SEO (voyez ici) !

Envie d’être accompagné pour cette migration ? Je peux vous aider

Si vous venez de passer votre site de HTTP vers HTTPS, n’oubliez pas qu’il faut rediriger toutes les anciennes URL (en HTTP) vers les nouvelles (en HTTPS).

Ceci s’applique aussi à un site qui dès le début est en HTTPS, car il est probable que certains feront des liens (sans s’en rendre compte) vers le site en HTTP.

Gérer la redirection au niveau du VirtualHost sur Apache

Une bonne façon est de mettre en place la redirection directement dans le fichier de configuration qui définit votre VirtualHost. Ce fichier peut se trouver à divers emplacements selon le système que vous utilisez (voir ici pour Apache).

Si vous voulez rediriger toute URL en HTTP vers l’URL équivalente en HTTPS, ajoutez ceci dans le virtualhost qui correspond au HTTP :

Redirect permanent / https://www.example.com/

(pensez à remplacer par le nom de votre site)

Si vraiment vous voulez utiliser RewriteRule (ce n’est pas une bonne idée a priori, voyez les commentaires) :

RewriteEngine on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Ceci fonctionne pour toutes les URL gérées par le virtualhost, avec ou sans sous-domaine.

Evidemment, si c’est l’inverse qui vous intéresse, si vous voulez rediriger toute URL en HTTPS vers l’URL équivalente en HTTP, ajoutez ceci dans le virtualhost qui correspond au HTTPS :

Redirect permanent / http://www.example.com/

(pensez à remplacer par le nom de votre site)

Si vraiment vous voulez utiliser RewriteRule (ce n’est pas une bonne idée a priori, voyez les commentaires) :

RewriteEngine on
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Gérer la redirection dans un fichier .htaccess

Vous pouvez aussi configurer ces redirections dans un fichier .htaccess à la racine de votre site.

Rediriger HTTP vers HTTPS

Dans ce cas, si vous voulez rediriger toute URL en HTTP vers l’URL équivalente en HTTPS, ajoutez ceci dans le fichier .htaccess à la racine de votre site :

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

La condition %{HTTPS} !=on signifie « l’URL est demandée sans le protocole HTTPS ». Vous pouvez aussi tester RewriteCond %{HTTPS} off

Sur OVH, voici le code à utiliser :

RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Rediriger HTTPS vers HTTP

Si à l’inverse vous voulez rediriger toute URL en HTTPS vers l’URL équivalente en HTTP, ajoutez ceci dans le fichier .htaccess à la racine de votre site :

RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Sur OVH, voici le code à utiliser dans le fichier .htaccess à la racine de votre site pour bloquer votre site en HTTP :

RewriteEngine on
RewriteCond %{SERVER_PORT} 443
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Redirection HTTP vers HTTPS avec d’autres serveurs

Redirection vers HTTPS avec un serveur IIS

Pour IIS 7, IIS 8 et supérieur, les explications sont fournies ici par Microsoft ou dans cet article (en anglais). En gros, il existe 3 méthodes (de la plus à la moins recommandée) :

  • Redirection IIS avec le module URL Rewrite
  • Redirection IIS avec le document par défaut (default.asp)
  • Redirection IIS avec le module HTTP Redirect

Redirection vers HTTPS avec un serveur Lighttpd

Pour Lighttpd, voici comment faire (source) :

Exemple 1, on redirige tout :

$HTTP["scheme"] == "http" {
    # capture vhost name with regex conditiona -> %0 in redirect pattern
    # must be the most inner block to the redirect rule
    $HTTP["host"] =~ ".*" {
        url.redirect = (".*" => "https://%0$0")
    }
}

Exemple 2, pour une seule URL spécifique :

$HTTP["scheme"] == "http" {
    $HTTP["host"] =~ ".*" {
        url.redirect = ("^/phpmyadmin/.*" => "https://%0$0")
    }
}

Exemple 3, pour un vhost et une seule URL spécifique :

$HTTP["scheme"] == "http" {
    $HTTP["host"] == "sth.example.com" {
            url.redirect = ("^/phpmyadmin/.*" => "https://sth.example.com$0")
    }
}

Vous pouvez aussi utiliser des tests de ce type:

if $HTTP["scheme"] == "https"

Redirection vers HTTPS avec un serveur Nginx

Pour Nginx, voici le code à mettre dans votre fichier de configuration (source) :

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	server_name _;
	return 301 https://$host$request_uri;
}

ou bien un code un peu plus robuste dans lequel on définit quels hostnames sont concernés :

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	server_name example.com www.example.com;
	return 301 https://$server_name$request_uri;
}

il faudra aussi un paramétrage pour le port 443 (il faudra d’autres détails, d’où le […]) :

server {
	listen 443 ssl;
	server_name example.com www.example.com;
	[...]
}

Pour Nginx, vous trouverez d’autres détails dans cet article.

Remarques importantes

  • en cas d’autres RewriteRule, il faut veiller à l’ordre et aux conflits : à vous de vérifier et tester
  • en théorie mod_rewrite n’est pas la meilleure manière de procéder (voir ici) bien qu’en pratique ce soit un détail
  • les choses peuvent se compliquer si le serveur gère plusieurs domaines différents en https
  • il faudra aussi penser à combiner avec la gestion du www
  • si vous avez de la réécriture d’URL, vérifiez que les règles n’interfèrent pas (on ne sait jamais)

Si besoin, consultez mon tuto sur les redirections ou posez votre question dans le forum .htaccess de WRI.

Questions réponses

Comment faire la redirection HTTP vers HTTPS sur WordPress ?

WordPress ne propose pas de moyen de gérer le passage à HTTPS directement dans le backoffice. Vous pouvez tester des plugins WordPress comme Really Simple SSL mais ne les ayant pas testés je n’ai pas d’avis. Je l’ai trouvé dans cet article dont je vous recommande la lecture.

Si vous avez un serveur dédié, gérez les redirections dans la config de votre serveur (VirtualHost sous Apache par exemple).

Sinon, suivez les consignes ci-dessus pour gérer les redirections dans la dans le fichier .htaccess.

Comment rediriger HTTP vers HTTPS sur Joomla ?

Les méthodes ci-dessus fonctionnent mais vous pouvez aussi tester l’extension Yireo SSL Redirection (non testée pour ma part).

Redirection HTTPS sur Prestashop

Pour rediriger automatiquement en HTTPS les URL d’un site sous Prestashop, suivez ce tuto (en anglais).

Redirection HTTPS sur Drupal

Idem : pour faire une redirection automatique HTTPS d’un site sous Drupal, suivez ce tuto (en anglais).

Comment faire la redirection HTTP vers HTTPS chez OVH ?

Si vous avez un serveur dédié OVH, gérez les redirections dans la config de votre serveur (VirtualHost sous Apache par exemple). Sinon, sur un serveur mutualisé OVH, comme indiqué dans l’article, le code pour les redirections dans .htaccess est légèrement différent du standard. Voyez ci-dessus les détails.

La redirection est-elle automatique ?

Tant que vous n’ajoutez pas les codes de redirections, ça ne sera pas automatique et vous risquerez d’avoir votre site en double (HTTP et HTTPS). Ce n’est pas bon pour le SEO

Mais une fois les codes en place, toute URL en HTTP sera automatiquement redirigée vers l’équivalent en HTTPS.

Où trouver des certificats SSL ?

Il en existe des gratuits (par exemple Let’s Encrypt) et de très nombreux payants. Faites une recherche ici par exemple. Quel que soit le certificat, s’il est bien à jour et bien configuré/installé, vous bénéficierez du cadenas vert (« site sécurisé » / « secure site »).

Et vous ?

Merci de me prévenir si ces exemples de configuration ne fonctionnent pas chez vous (précisez votre serveur et votre cas) ou si vous connaissez les codes à utiliser pour d’autres serveurs que Apache.

Crédits : image d’illustration

Cet article vous a-t-il plu ?

Note : 3.8 (15 votes)
Cliquez pour voter !

Laisser un commentaire

Remarques :

  • Si vous souhaitez poser une question ou détailler un problème technique, il ne faut pas utiliser le formulaire ci-dessous qui est réservé aux avis. Posez votre question directement dans le forum Gmail de WebRankInfo. L'inscription est gratuite et immédiate.

  • En postant un avis, vous acceptez les CGU du site WebRankInfo. Si votre avis ne respecte pas ces règles, il pourra être refusé. Si vous indiquez votre adresse email, vous serez informé dès que votre avis aura été validé (ou refusé...) ; votre adresse ne sera pas utilisée pour vous envoyer des mailings et ne sera pas revendue ou cédée à des tiers.

38 commentaires

denisfr

ne pas oublier la redirection http://example.com vers https://www.example.com aussi.
Je viens de migrer un site de moyenne importance (1000/1500 visiteurs par jour).
Normalement, chute au départ de la fréquentation, perte de certaines places sur des mots clés mais tout devrait revenir dans l’ordre.

Répondre
joey

Il y a beaucoup plus simple :
Redirect permanent / https://LE_NOUVEAU_DOMAINE/

C’est d’ailleurs ce qui est conseillé dans la documentation d’Apache :
http://httpd.apache.org/docs/2.4/fr/rewrite/remapping.html#canonicalhost

Oups, j’ai interrompu la lecture après avoir lu les exemples et je viens de voir qu’il y a la même technique dans les Remarques importantes.
Du coup je ne comprend pas trop pourquoi c’est la méthode avec mod_rewrite qui a été présentée, mais bon… au moins c’était mentionné dans l’article. Même, si, encore une fois…
http://httpd.apache.org/docs/current/fr/rewrite/avoid.html

Répondre
Olivier Duffez

Merci joey, tu as raison et j’ai mis à jour mon article.

Répondre
totor

Nginx = 20 % des serveurs ! On zappe ?

Répondre
Olivier Duffez

si quelqu’un connait la façon de faire sur un serveur Nginx, je suis preneur, je mettrai à jour mon article

Répondre
Zorg

Je ne comprends pas bien: « il est préférable de faire le redirect dans le virtualhost », ok mais dans l’exemple on renvoie TOUT vers la home du site ? (Redirect permanent / https://www.example.com/)

Du coup on perd le redirect 301 pour indiquer la nouvelle adresse de chaque url, c’est pas top non ?

Répondre
Olivier Duffez

Non Zorg, si on prend la commande suivante :
Redirect permanent /blog/ https://www.example.com/

toute URI commençant par /blog/ va être redirigée en 301 vers l’URL consituée de https://www.example.com/ auquel on ajoute ce qu’il y avait dans l’URL de départ après /blog/

donc dans l’exemple indiqué, toutes les URL seront correctement redirigées

Répondre
Kasutan

Lorsque j’ajoute les 3 lignes proposées au fichier .htaccess de mon site wordpress, les navigateurs m’affichent des messages d’erreur de type « trop de redirections sur cette page ».
J’ai essayé à différents endroits du fichier .htaccess, sans succès.

En revanche, les instructions suivantes fonctionnent :

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R,L]

(trouvé dans ce tutorial : http://www.wpbeginner.com/wp-tutorials/how-to-add-ssl-and-https-in-wordpress/comment-page-1/#comment-299884)

Répondre
Stephane

bonjour Kasutan,

j’ai déjà eu ce problème quand je suis passé à une configuration automatique des vhost dans apache. J’espère que depuis le temps tu as trouvé une solution…

La solution que j’ai trouvé est de rajouter la commande suivante au .htaccess

RewriteBase /

Répondre
Christophe PIETUSZYNSKI

Bonjour,

Je me documente actuellement de façon un peu plus fine sur les redirections 301). Malgré quelques recherches sur Google je n’ai pas trouvé de réponse définitive à ces quelques interrogations :

1- Y a t’il une méthode à privilégier entre « configurer ses redirections sur le htaccess » ou « directement dans le virtualHost » ? Ou devrais je dire : Google préfère t’il une méthode à l’autre ?

2- Dans le cadre d’une redirection 301, est-il nécessaire de la laisser en place indéfiniment ou peut-on (après plusieurs semaines) la supprimer ? Si oui au bout de combien de temps (approximativement) ?

Merci par avance pour vos contributions.

Répondre
Olivier Duffez

Si tu peux éviter de surcharger le .htaccess, c’est bien de les mettre dans le virtualhost (ça sera plus efficace en termes de charge serveur), mais ça ne change rien pour Google.
En théorie, il faut laisser la redirection aussi longtemps qu’il existe des liens vers la page redirigée, ou que des internautes l’ont mise en favoris : donc éternellement. En pratique si l’on souhaite alléger le nombre de redirections gérées par le serveur, s’il n’y a plus de backlink et que Google l’a désindexée depuis longtemps, on peut enlever la redirection.

Répondre
rick38

Ne pas oublier :

Header set Strict-Transport-Security "max-age=31536000" env=HTTPS

Répondre
Olivier Duffez

en effet rick38, mais cet article était surtout sur les redirections. Merci pour le commentaire
PS : à quoi sert env=HTTPS ? je ne le vois pas dans d’autres exemples/conseils sur HSTS

Répondre
jey

Bjr.
Chez ovh dans le manager on peut gérer les redirections dans les options du domaine sans modifier le htaccess

Répondre
David

@olivier: Effectivement le env=HTTPS devrait être facultatif. Comme je combine avec la redirection 301, les gens se voient redirigés en https et ont donc quand même cette entête, mais sans env=HTTPS ça veut dire que l’entête est envoyée même en HTTP (entête qui dit donc au browser d’interdire d’accéder au site en HTTP) et donc pourrait suffir même sans redirection 301 pour se retrouver en HTTPS (mais je n’ai pas testé et j’ai un peu peur que certains vieux browsers ne connaissent pas cette directive, il faut mieux laisser en plus la redirection 301).

Bref, ça effectue aussi en quelque sorte une « redirection », puisque ça force le https sur un domaine, même si la personne tape http ou que des liens http restent quelque part sur le site, et ce, en évitant l’aller-retour de la redirection 301 côté serveur puisque c’est le browser qui s’en charge, ce qui est un gain de performance et aussi un gain de sécurité car il n’est alors plus possible d’accéder à un http du domaine.
ATTENTION : du coup il faut être sûr qu’on n’a vraiment plus besoin d’http nulle part sur son domaine, et qu’on ne décide pas finalement d’annuler le https, et ce pour la durée indiquée du cache dans max-age, car repasser en http ne sera plus possible pour les visiteurs durant la durée du cache.

Aussi, cette ligne permet de passer de la note de A à A+ dans https://www.ssllabs.com/ssltest/

Répondre
mlescaudron

Excellent article, marrant qu’il soit partagé sous Linkedin aujourd’hui ^^.

Sous Nginx
server {
listen 80;
server_name example.com;
rewrite ^(.*) https://$host$1 permanent;
}

server {
listen 443;
...

Répondre
Christophe

Bjr,

Pour avoir fait quelques tests de redirection http->Https depuis le passage en Https chez OVH, avec un logiciel d’ AUDIT de PowerSuite, j’ai remarqué que pour avoir vraiment la prise en compte effective des de la version Https du iste, surtout avec Prestashop et WordPress, il est important de placer les lignes de réécriture conseillé par Olivier pour OVH en haut du fichier .htaccess.
RewriteEngine on
RewriteCond %{SERVER_PORT} 80....etc..etc...

Sinon, le site semble bien être redirigé en https à l’affichage dans la barre d’adresse, mais les deux versions sont quand même trouvé.

Répondre
Jeanbi

Bonjour,

Je viens de passer en HTTPS, mais j’ai quelque doute.

Faut-il envoyer chez google deux sitemaps? un pour la version http, un autre pour la version https?

Concernant les redirection avec en sans « www », faut-il aussi rediriger la version https avec et sans « www »?

Je vous remercie d’avance les commentaires.

Répondre
Olivier Duffez

Oui Jeanbi, il faut envoyer 2 sitemaps (au moins dans un premier temps, ensuite celui du HTTP pourra être supprimé).
Oui, la redirection avec/sans www doit aussi fonctionner sur la version HTTPS

Répondre
Jeanbi

Bonjour,

Je vous en remercie.

Un plaisir.

Répondre
Sarah2612

Bonjour,

Je souhaiterais que les URL en https soit redirigé en HTTP (je suis chez OVH) mais je ne sais pas où placer votre code dans mon fichier .htaccess. Pouvez-vous m’aider ? Merci d’avance !!

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Répondre
Olivier Duffez

Autant placer le code pour les redirections en haut du fichier (sans oublier de commencer par RewriteEngine On)

Répondre
Jérémy C

Enorme merci à tous !!
J’ai enfin réussi à paramétrer une redirection 301, dans le cadre d’un passage en https. Après m’être arraché les cheveux pendant une journée (on ne peut pas plus novice que moi), je vais vous donner ce qui a fonctionné chez moi :
Paramètres :
Hébergement chez OVH, site sous wordpress, .htaccess à la racine (dans www), je fonctionne avec filezilla pour envoyer les données sur serveur.
Code à ajouter (au début!) dans le fichier .htaccess :

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.monsite.fr/$1 [R=301,L] (((ou .com évidemment..)))

Attention, après avoir tout essayé (y compris mod_rewrite), seul ce code a fonctionné mais il faut le placer tout au début du fichier sans toucher au reste, sinon ça ne fonctionnera pas.
Tout fonctionne parfaitement, que ce soit en http ou en https, avec www ou sans www, tout est redirigé vers https://www.monsite.fr.

Un grand merci à vous, c’est grâce à la lecture des tutos et des commentaires que j’y suis parvenu.

A bientôt

Répondre
Gérard Barré

Bonjour,

ARticle intéressant et pertinent et e viens de passer récemment mon blog sous dotclear en https. Hébergé en mutualisé chez OVH, il fonctionne correctement sauf les redirections http > https. Il respecte les consignes d’installation optimisée dotclear qui sépare les répertoires du blog (thème et public), les plugins et le moteur.

Il fonctionne en path_info et pour simplifier l’url, un fichier .htacces est dans le répertoire du blog :
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php/$1

Actuellement le .htaccess à la racine qui devrait faire la redirection contient :
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.sentier-nature.com/$1 [R,L]

Le répertoire /blog est nommé /montagne

Avec Chrome ou Edge sur mon PC, les url : http://www.sentier-nature.com/ et https://www.sentier-nature.com/montagne/ ne sont pas redirigées, ni aucune url de billet appelée directement (les liens sont redirigés).

Avec chrome sur mobile sous androïd, http://www.sentier-nature.com/ semble redirigée. Mais aucune des autres appelées directement.

Pour le .htaccess à la racine, j’ai aussi essayé sans meilleur résultat le code:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]

D’autres essais ont provoqué des erreurs serveur (500).

Désolé de publier les url en cause. Merci de vos lumières.
Cordialement

Répondre
CNek

Merci beaucoup !
Utile pour assurer une transition HTTP > HTTPS un peu capricieuse sur un site en mutu chez OVH.
En attendant un debug, la règle .htaccess décrite pour forcer HTTPS en HTTP fait bien l’affaire ;)

Répondre
Olivier Ménart

Bonjour,

Je crois que j’ai tout essayé pour rediriger mon site de https -> http, mais rien n’y fait.

C’est un wordpress hébergé chez OVH, j’imagine donc que je dois uniquement appliquer la règle suivante en tête de mon .htaccess :

RewriteEngine on
RewriteCond %{SERVER_PORT} 443
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

ou alors dois-je également utiliser

RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

??

J’ai bien tenté de vider tous les caches possibles, mais quand je tente de me connecter à mon site avec https, je tombe inévitablement sur la page « Votre connexion n’est pas sécurisée ».

Merci pour votre aide !

Répondre
Chris Tinho

Bonjour Olivier,

Merci pour cet article.

Je suis sur OVH en mutualisé et mon site est un CMS (WORDPRESS), voici ce que j’ai mis dans mon htaccess, qu’en pensez-vous j’aimerais avoir votre avis :

# Redirection HTTP vers HTTPS 
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ https://www.acadezik.com/$1 [R=301,L]

# Redirection du non-www vers www en HTTPS
RewriteEngine On
RewriteCond %{HTTP_HOST} ^monsite.com [NC]
RewriteRule ^(.*)$ https://www.acadezik.com/$1 [R=301,L]

Merci pour votre aide
Chris

Répondre
Olivier Duffez

Bonjour Chris
je n’ai malheureusement pas le temps de tester tous les codes qu’on m’envoie, il vaut donc mieux poser la question dans le forum htaccess, merci !

Répondre
Jérémy

Pour ma part j’ai testé différents codes pour rediriger correctement de http vers https en traitant également les adresse non-www vers les www.
Beaucoup d’exemples cités créaient trop de redirections intutiles mais en fouillant bien j’ai trouvé cette petite pépite pour mon .htaccess :

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.mon-site.fr/$1 [L,R=301]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://www.mon-site.fr/$1 [L,R=301]

Un petit outil cool aussi pour valider vos éventuels erreurs SSL :
https://www.linksspy.com/seo-tools/free-seo-ssl-scan/new

Répondre
Maxence

Personnellement j’ai opté pour un plugin sur WordPress qui fait automatiquement la redirection et corrige les erreurs de conflit : « Really Simple SSL ». Aucun réglage et tres léger !

Répondre
Macfly

Je viens de passer un de mes petits sites en https, opération réalisée en 15 minutes.
Ne pas oublier de modifier toutes les url présentes dans le code http://www.monsite … par https://www.monsite…. (ça concerne les liens, le chargement de scripts, de css, images, etc, etc…)

Répondre
Macfly

La principale question que je me pose c’est l’effet sur les backlinks, à priori avec la redirection il fonctionnent tous mais ce sont tout de même des backlink redirigés, perdent-ils de la puissance ? Dieu GG seul le sait…

Répondre
Amine

Bonjour,

Ne faites pas de passage au HTTPS, c’est un piège de Google, mon site est tombé carrément dans ce piége est aujourd’hui plutôt de gagner quelques places promis je suis à deux doigts de fermer l’entreprise.

Le HTTPS concerne uniquement les sites e-commerces; Portails au autres vous étés prévenus ne faites pas cette bêtise ou vous allez tout perdre.

Répondre
Olivier Duffez

@Amine : si tout est bien préparé, il ne doit pas y avoir de chute…

Répondre
Charles

Bonjour,

Précision pour lighttpd

Si la redirection automatique http->https ne marche pas
regardez bien dans les logs d’erreurs et faire un restart

si vous avez un
WARNING: unknown config-key: url.redirect (ignored)

il faut activer le modules de redirection dans modules.conf
server.modules = (
« mod_redirect »,

)

Ce module n’est pas activé par défaut.

PS: j’ai bien galéré pour trouver le problème

Répondre
Gingko

Bonjour.

Ce que je voudrais faire, moi, c’est maintenir (au moins temporairement) les deux versions de certains de mes sites (HTTP et HTTPS), mais faire en sorte qu’une fois que le visiteur a choisi entre l’une des deux, il soit assuré d’y rester.

Or dans ces sites il y a parfois des liens internes formulés absolument, qui sont nécessairement effectués soit en HTTP, soit en HTTPS, mais pas les deux à la fois.

De plus ces sites ont parfois des sous-domaines avec des liens réciproques (genre http://www.monsite.com/ et http://forum.monsite.com/), et j’aimerais également que le visiteur qui passe de l’un à l’autre soit assuré de rester dans le mode par lequel il est entré.

En plus, dans un forum de discussion, les liens peuvent être ajoutés par les utilisateurs, et je ne peux pas avoir d’assurance qu’un utilisateur donné qui va poster un lien interne dans le futur va toujours indiquer celui-ci en HTTP ou bien en HTTPS.

J’ai donc pensé à utiliser des règles de réécriture conditionnelles basés sur le référent, mais en pratique ça ne marche pas à cause de la RFC 7231 (section 5.5.2) : « A user agent MUST NOT send a Referer header field in an unsecured HTTP request if the referring page was received with a secure protocol » (un « user agent » ne doit pas envoyer d’en-tête « Referer » dans une requête HTTP non sécurisée si la page de référence a été reçue avec un protocole sécurisé).

Existe-t-il un autre moyen de tester, dans une règle de réécriture, le fait de savoir si le visiteur est arrivé sur le site via une page du même site ou du même domaine en mode HTTP ou HTTPS ?

Répondre
Olivier Duffez

pourquoi vouloir faire un truc aussi compliqué ?

Répondre
Aude

Bonjour,
Je souhaite une page d’accueil avec :
-le https
-le www
-la redirection de index.html vers /

En gros je souhaite que ma page d’accueil soit :
https://WWW.monsite.com

L’ordre a t’il une importance dans le .htaccess ?

Peut-on définir ces redirections en 1 seule condition ?

Merci de votre aide

Répondre