Aller au contenu
shkyo

Comment rediriger http vers https en serveur mutualisé (chez OVH)?

Noter ce sujet :

Recommended Posts

Bonjour à tous,

Je plante le décor en vitesse: le site web de ma boite est hébergé en mutualisé chez OVH, et on a pris l'option certificat SSL

Quand on tape directement https://www.xyz.fr/ ça fonctionne bien, mais quand on tape www.xyz.fr ou xyz.fr la consultation du site reste en http... icon_sad.gif
Et toutes les tentatives que j'ai faites de fichier .htaccess à la racine du site se termine TOUJOURS en erreur 500!! aie.gif

Quelqu'un a-t-il déjà eu (et résolu!) ce problème??

Merci d'avance...

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Si votre site est en PHP, ou du moins sa page d'accueil, l'on pourrait utiliser la globale $_SERVER avec l'argument HTTPS

Si cette variable existe, c'est que l'utilisateur est en HTTPS. Si pas, ou qu'elle est à "off" (cas d'un serveur IIS), c'est du HTTP classique.

 

<?php
if(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "off")
{
  header("location: https://www.mon-site.com/");
}
?>

 

Sinon, en HTACCESS, StackOverflow me suggère ceci:

RewriteCond %{HTTPS} off
# First rewrite to HTTPS:
# Don't put www. here. If it is already there it will be included, if not
# the subsequent rule will catch it.
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

source: h**p://stackoverflow.com/questions/13977851/htaccess-redirect-to-https-www

 

Toutefois, si l'utilisateur utilise un proxy, cela risque de faire une boucle de réécriture, les données étant envoyées en HTTP Plain/Text. Une solution annexe serait donc celle-ci:

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

source: h**p://stackoverflow.com/questions/26620670/apache-httpx-forwarded-proto-in-htaccess-is-causing-redirect-loop-in-dev-envir

 

Je ne saurait te dire si c'est fonctionnel, j'utilise NGinx en tant que serveur web :) Mais il semble que la personne ayant eu un souci sur StackOverflow ai trouvé ce message comme réglant le problème.

 

Cordialement,

Partager ce message


Lien à poster
Partager sur d’autres sites

Tout d'abord merci pour cette réponse rapide!

 

J'avais oublié de préciser, le site est intégralement en HTML5/CSS3, aucun script n'est utilisé.

 

J'ai testé les 2 propositions et j'ai toujours mon erreur 500... Je commence à me demander si OVH gère bien ce fameux fichier .htaccess! D'ailleurs, il y a à la racine un fichier .ovhconfig qui contient ceci (ce n'est pas moi qui l'ai écrit):

 

app.engine=phpcgi
app.engine.version=7.0
http.firewall=none
environment=production
container.image=default_image

Perso j'ai essayé ça:

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

ou encore ça:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^xyz\.fr [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

Et toujours le même résultat... Erreur 500... :mad2:

Partager ce message


Lien à poster
Partager sur d’autres sites

Concernant le .ovhconfig, il s'agit d'un fichier permettant de modifier vos préférences sur le Manager d'OVH. Il est donc à conserver !

 

Pouvez-vous également essayer de ne mettre QUE le "RewriteEngine On" ? Cela me semble étrange, mais peut-être la réécriture d'uri n'est pas active.

Sinon, ceci vient du site officiel OVH, en espérant que cela fixe le problème:

RewriteEngine on
Rewritecond %{HTTP_HOST} ^nom_domaine.tld$
Rewriterule ^(.*) https://nom_domaine.tld/$1 [QSA,L,R=301]

... Mais cela donnera probablement le même résultat.

 

Tenez moi au courant ! Je continue à chercher d'éventuelles raisons à cette erreur 500.

Peut-être le reste de votre fichier .htaccess ? Est-ce le seul contenu du fichier? Y a t-il d'autres données dans votre .htaccess ?

 

Cordialement

Partager ce message


Lien à poster
Partager sur d’autres sites

Tout simplement en mettant ceci au début de ton fichier .htaccess ;)

 

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/%$1 [R,L] 

 

Si tu as toujours une erreur 500, poste ici ton fichier .htaccess

Partager ce message


Lien à poster
Partager sur d’autres sites

Il n'y a absolument rien d'autre dans le fichier que les quelques lignes de redirection... Je viens d'essayer vos 2 propositions: pas mieux... :(

 

J'ai aussi essayé avec juste la ligne "RewriteEngine On", même résultat! Là ça devient bizarre à ce que je comprends...

Partager ce message


Lien à poster
Partager sur d’autres sites

Peut-être un caractère d'échappement invisible?

Pourriez-vous essayer de totalement supprimer le fichier .htaccess de votre site, le recréer, et lui remettre les valeurs indiquées par Dan ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Attention au fichier .htaccess... il ne faut l'éditer qu'avec un outil "pur ascii" , par exemple le bloc-note et le transférer en mode TEXT et non BINARY !

Windows a tendance à ajouter des caractères de fin de ligne (retour chariot) non compatibles avec Linux !

 

Partager ce message


Lien à poster
Partager sur d’autres sites

YES!!!! ça fonctionne enfin! Merci à vous deux pour votre aide précieuse!

 

Donc je résume, voici la version qui fonctionne:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

Mais écris et sauvé avec le Notepad "de base", avant j'utilisais Notepad++ je ne pensais pas qu'il ne respectait pas le mode texte pur...

 

Ouf, une bonne chose de faite, je galérais la-dessus depuis hier matin! Merci encore!

Partager ce message


Lien à poster
Partager sur d’autres sites

Il faut TOUJOURS se méfier des éditeurs sous Windows... mais normalement Notepad++ peut sauver en "texte seul" sans problème.

C'est ce que j'utilise tout le temps.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 6 minutes, Dan a dit :

Il faut TOUJOURS se méfier des éditeurs sous Windows... mais normalement Notepad++ peut sauver en "texte seul" sans problème.

C'est ce que j'utilise tout le temps.

 

C'est bien noté! Quand à Notepad++ je regarderais ma config à l'occasion, je ne l'utilise que pour ouvrir des fichier texte ou assimilés...

 

Pour la programmation du site web, j'utilise Sublime Text 3, il a des fonctions super pratiques pour accélérer le code HTML!

Partager ce message


Lien à poster
Partager sur d’autres sites
Bonjour
je viens de passer deux sites en https,tout les deux chez OVH....l hébergeur recommande de mettre ceci ..
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.votredomaine.fr/$1 [R,L]
 

 
  
   
 
Modifié par informatique76
citation

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×