Passer en HTTPS

Eléphant du PHP | 199 Messages

12 févr. 2017, 17:37

Bonjour à tous,

j'ai passé mon site en https avec un htaccess (voir code ci-dessous).
Dans le résultats de Google pour le moment cela n’apparaît pas encore mais d'après ma redirection avec le fichier htaccess, je devrais arriver sur le site sécurisé or ce n'est pas le cas.

J'ai testé sur un site mon certificat est valide (SLL).

Voici le site concerné https://www.zoneseries.fr là c'est OK mais lui n'est pas sécurisé http://www.zoneseries.fr. La redirection ne fonctionne pas :non:

Le fichier htaccess :
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.zoneseries\.fr
RewriteRule (.*) https://www.zoneseries.fr/$1 [R=301,L]
Merci de vos idées.

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7373 Messages

12 févr. 2017, 18:01

Normal, ta condition ne parle pas du protocole, mais juste du fait qu'il y ait "www.zoneseries.fr"

Pour forcer le hhtps tu peux regarder le port utilisé : le port 80 c'est pour le non sécurisé donc les 2 lignes suivantes devraient suffire :

Code : Tout sélectionner

RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 199 Messages

12 févr. 2017, 19:18

voici l'erreur après modifications

La page www.zoneseries.fr ne fonctionne pas
http://www.zoneseries.fr vous a redirigé à de trop nombreuses reprises.
ERR_TOO_MANY_REDIRECTS

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7373 Messages

12 févr. 2017, 19:48

Que contient ton htaccess ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 199 Messages

12 févr. 2017, 20:04

J'ai fait le test en laissant uniquement ces lignes de commande et l'erreur est la même.
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.zoneseries.fr/$1 [R,L]
sinon il y a les réécritures des URLs, je mets le code :
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.zoneseries.fr/$1 [R,L]
ErrorDocument 404 /404.php
RewriteRule ^contact\.html$ /contact.php [L]
RewriteRule ^homep\.html$ /index.php [L]
etc ...

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8755 Messages

13 févr. 2017, 10:36

salut,

plutôt que de tester le port tu peux tester si tu arrive en https ou pas
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}


source : https://technique.arscenic.org/ssl-secu ... atiquement

si tu as une boucle infinie de redirection c'est qu'il y a un soucis quelque part. est ce que dans toncode tu ne vérifie pas la provenance et redirige en cas de soucis ?
est ce qu'il n'y a pas quelque chose qui fait http://tonsite vers http://www.tonsite ?

Attention tu as des demandes de ressources avec des url http du coup cela ne fonctionne pas. Pour le voir ouvre les outils développeur de ton navigateur (F12) et regarde la console.


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 199 Messages

13 févr. 2017, 11:26


plutôt que de tester le port tu peux tester si tu arrive en https ou pas
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
J'avais déjà testé cette solution mais le problème reste entier., Dans mon code php il n'y a aucune redirection et mon site est en www.
si tu as une boucle infinie de redirection c'est qu'il y a un soucis quelque part. est ce que dans toncode tu ne vérifie pas la provenance et redirige en cas de soucis ?
est ce qu'il n'y a pas quelque chose qui fait http://tonsite vers http://www.tonsite ?
J'ai testé la redirection (htaccess erreur 301) sur ce site http://www.yakaferci.com/report/?sessio ... #redirects et pourtant il indique bien que la redirection est sur https :

code HTTP de redirection: 301
l'URL est redirigée vers : https://www.zoneseries.fr/
l'échange requête/réponse a pris en tout 0.02 s

merci encore

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8755 Messages

13 févr. 2017, 15:56

c'est bizarre.

S'il y a une boucle c'est que quelque part tu as une redirection, en tout cas le code fournit ne fait pas cela.

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 199 Messages

13 févr. 2017, 16:01

ça ne pourrait pas venir du port 80 ? j'ai modifié comme ceci

RewriteCond %{SERVER_PORT} !=80
RewriteRule (.*) https://www.zoneseries.fr/$1 [R=301,L]

et là j'ai plus l'erreur mais la redirection ne marche pas....

Eléphant du PHP | 199 Messages

13 févr. 2017, 20:59

Pour être sûr, je joints l'image de mon compte sur 1&1 (j'avais oublié de la préciser, peut que ça a son importance).
On voit que la cible est sur /www.zoneseries.fr mais par contre le lien affiché en bas à droite point sur https://zoneseries.fr (pas de www !) et le pire c'est qu'en cliquant dessus, voici la page :

La page zoneseries.fr ne fonctionne pas

zoneseries.fr vous a redirigé à de trop nombreuses reprises.
Essayez de supprimer les cookies..
ERR_TOO_MANY_REDIRECTS

Y a t-il un impact sur ma redirection ? je n'y comprends plus rien #-o

Image

J'ai également ajouté un fichier http://www.zoneseries.fr/test.php qui indique toutes les caractéristiques du site.
Merci encore