Jump to content
shkyo

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

Rate this topic

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...

Share this post


Link to post
Share on other 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,

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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 ?

Share this post


Link to post
Share on other 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 !

 

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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.

 

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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]
 

 
  
   
 
Edited by informatique76
citation

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...