Htaccess, https, www, version php

Bonjour,

Je viens de faire une mise à jour d’un CMS (Made Simple) d’une version majeure à une autre. Aucun souci de ce côté-là. Je vérifie que tout fonctionne une fois la mise à jour effectuée (en local puis transférée sur l’hébergement), et c’est le cas.
Je bascule la version PHP de 5.6 à 7.2, le CMS supportant cette version.

Quelques dizaines de minutes plus tard, j’ai un souci de redirection qui m’affiche une belle erreur 500. Du coup je ne comprends pas, je n’ai pas modifié le htaccess, la redirection non-www vers www est correcte, idem pour la redirection http-> https comme indiqué dans la doc et sur le forum.
J’essaie de modifier les règles de redirection mais ne trouve pas la formule magique qui permettrait au site de s’afficher avec https://www. dans l’URL.
Du coup, je me demande s’il y a quelque chose côté PHP qui aurait fait que les redirections ne soient plus bonnes ?

Je viens de rebasculer en PHP 5.6 et ça fonctionne à nouveau. Du coup ça vient effectivement de la version PHP. Est-il possible de connaître la formule magique pour que les redirections fonctionnent sous PHP 7.2 ? Merci !

Bonjour,

Quel est le site concerné (en MP si besoin) ? Avez-vous essayé avec PHP 7.1 ?

Je vois sur Requirements : : CMS Made Simple 2.x Official Documentation que ce CMS n’est pas testé en 7.2 :

CMS Made Simple itself requires at least PHP 5.6 with numerous libraries enabled (the install assistant will check for these) including json, tokenizer, xml, and gd. Newer PHP versions will provide significantly better performance, and as of this writing have been tested up to PHP 7.1.

Mais peut-être qu’il y a des infos plus fraîches ailleurs.

Le site : cirkosenso.com.
Oui la toute dernière version (2.2.8) est maintenant compatible, ça n’a rien à voir avec le CMS je pense. Je n’ai pas tenté en 7.1.

Et c’est la même chose (redirection incorrecte) en 7.1. Du coup est-ce que ça vient de l’hébergeur ou de la configuration de l’htaccess ? Qu’une config qui fonctionne en 5.6 ne fonctionne pas au-delà me semble étrange.

Faut-il que j’ouvre un ticket ?

Pas la peine d’ouvrir un ticket.

Il doit y avoir une vilaine subtilité dans les configs des PHP 7.x qui pose problème, je vais signaler le problème à notre infogérant.

Ce qui est étrange aussi, c’est que ça fonctionne bien en php 7.2 pour une redirection www → nonwww, mais pas l’inverse.

Je vous tiens au courant quand j’ai du nouveau, ça ne sera probablement pas avant le milieu de semaine prochaine.

OK pas de souci pour le délai, tant que ça tourne encore bien sous 5.6. Merci !

Bonjour,
Avez-vous des nouvelles ? Merci !

Bonjour,

Actuellement sur le site http://test72.ouvaton.org/ avec le .htaccess ci-dessous j’ai bien la bonne redirection vers le www en HTTPS (avec une erreur de certificat qui est normal).

RewriteEngine on
RewriteCond %{HTTP_HOST} test72.ouvaton.org
RewriteRule ^(.*)$ https://www.test72.ouvaton.org [QSA,R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Pouvez-vous essayer sur votre site ?

Bonsoir/jour,

Je viens de faire la mise à jour du CMS vers une version compatible à 100% avec PHP7.2.
Du coup, j’ai retenté de basculer sur PHP7.2 et j’ai à nouveau ce problème de redirection qui ne semble pas réglé. En mettant très précisément le code donné (adapté à mon nom de domaine évidemment), j’arrive sur une 404, avec le site sans www.
Et toujours aucun souci en PHP5.6.
Voici le code qui fonctionne en 5.6:

RewriteCond %{HTTP_HOST} ^cirkosenso.com$
RewriteRule ^(.*) https://www.cirkosenso.com/$1 [L,R=301]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Je suis pour le moment retourné sous PHP5.6.

Je viens de tester une nouvelle fois la bascule vers PHP 7.2 : cette fois, je vérifie que la version PHP (avec un simple fichier phpinfo et dans le cms) est bien celle-ci, mais ce n’est pas le cas, même après plusieurs heures, ça reste en 5.6.
Par contre, il se passe quand même quelque chose, parce que je ne peux plus accéder au site en https (problème de sécurité détecté par le navigateur), uniquement en http, et avec ou sans www.

Je vais avoir besoin de basculer en 7.2 mini, comment faut-il procéder pour que ça fonctionne comme attendu ?

Bonjour,

A priori le changement de version PHP est fonctionnel.
Pouvez-vous me dire sur quel espace web vous rencontrez ce problème ?
Est-ce toujours cirkosenso.com ?

Oui, c’est bien sur cet espace.
Je testerai à nouveau dès que je pourrai.

Il est passé en 7.2 (après intervention de notre infogérant).

Merci à vous !

Bonjour,

L’hébergement est bien passé en 7.2, mais la redirection ne se fait pas.
Ce que je souhaite faire (ce qui se passait précédemment bien en 5.6) :

  1. rediriger le nom de domaine sans www -> avec www
  2. faire en sorte que le protocole soit https uniquement

Ça ne fonctionne pas pour l’instant, et c’est dommageable tant pour le référencement que pour l’appel de certaines ressources comme les fonts, par exemple.

Merci de m’indiquer la marche à suivre, et / ou de corriger de votre côté pour que ça fonctionne comme attendu.

Bonjour,

Je viens de mettre ça :

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*) https://www.cirkosenso.com/$1 [L,R=301]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ça fonctionne de chez vous (pensez à recharger la page sans cache avec CTRL+MAJ+R sous Firefox) ?

Oui ça fonctionne ! Merci beaucoup pour l’aide, on y est arrivé finalement. :slightly_smiling_face: