Dotclear

Vous n'êtes pas identifié(e).

Annonce

#1 2012-06-29 10:16:49

geceo
Membre
Lieu : Cesson Sévigné
Inscription : 2008-05-10
Site Web

Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Bonjour,

En validant mes pages, j'ai constaté quelque chose de très problématique et je voudrais avoir votre avis.

Tout d'abord, j'ai validé la page d'accueil :
  http://www.escrime-cesson-rennes.fr/
et elle est valide :
  http://validator.w3.org/check?verbose=1 … nnes.fr%2F

Jusque-là, tout va bien. Le problème concerne toutes les autres pages, par exemple :
  http://www.escrime-cesson-rennes.fr/pag … -la-presse
  http://validator.w3.org/check?verbose=1 … -la-presse

Le validateur me dit qu'il y a une erreur 404 sur cette URL! J'ai d'abord cru à un bogue, mais Firebug (onglet Réseau) me dit exactement la même chose.

Voici le contenu du fichier .htaccess situé à la racine du site :

SetEnv PHP_VER 5_4
SetEnv REGISTER_GLOBALS 0
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) index.php/$1

Est-ce que ce comportement a déjà été observé et si oui, quelle est la solution? Ça fait peur de se dire que toutes les pages, à part la page d'accueil, sont ignorées par Google!

Merci de votre aide,
Grégoire

Dernière modification par geceo (2012-06-30 09:16:55)

Hors ligne

#2 2012-06-29 12:10:17

pierrevg
Membre
Inscription : 2005-04-13
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Bonjour,

Ta déclaration de doctype est en transitional et devrait être en strict. C'est toi qui l'as modifiée ? Si oui, pourquoi ?

Hors ligne

#3 2012-06-29 14:02:28

geceo
Membre
Lieu : Cesson Sévigné
Inscription : 2008-05-10
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Ah oui, je l'ai modifiée parce que j'utilise des iframes dans certaines pages. En quoi est-ce un problème?

Hors ligne

#4 2012-06-29 14:20:40

pierrevg
Membre
Inscription : 2005-04-13
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Ben c'est pas en adéquation avec le reste du code.

Hors ligne

#5 2012-06-29 14:43:58

geceo
Membre
Lieu : Cesson Sévigné
Inscription : 2008-05-10
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Hum… Peux-tu préciser ce que ça pose comme problème à DotClear pour gérer la réécriture d'URL, ou le renvoi d'un code 200 OK, que les pages aient un DocType Transitional?

Dernière modification par geceo (2012-06-29 14:49:52)

Hors ligne

#6 2012-06-29 14:51:04

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

geceo a écrit :

Hum… Peux-tu préciser ce que ça pose comme problème à DotClear pour gérer la réécriture d'URL que les pages aient un DocType Transitional?

Rien à mon humble avis ;)

Toutefois j'essaierais à ta place cette règle de réécriture

RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteRule ^$ /index.php   [L]

à la place de la dernière ligne de ton .htaccess, il me semble en effet que certaines adresses ne seraient autrement pas correctement redirigées ?

Hors ligne

#7 2012-06-29 15:03:56

geceo
Membre
Lieu : Cesson Sévigné
Inscription : 2008-05-10
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Merci pour la réponse! J'ai donc remplacé par :

SetEnv PHP_VER 5_4
SetEnv REGISTER_GLOBALS 0
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteRule ^$ /index.php   [L]

mais le comportement est identique pour ce qui est des erreurs 404.

Hors ligne

#8 2012-06-29 15:09:47

geceo
Membre
Lieu : Cesson Sévigné
Inscription : 2008-05-10
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

J'ai testé en remettant temporairement le DOCTYPE Strict, ça ne change rien non plus.

Hors ligne

#9 2012-06-29 15:13:01

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Dans les paramètres du blog, le format des urls est-il bien en path_info et index.php est-il bien absent de l'url du blog  qui doit se terminer par un /  (soit http://www.escrime-cesson-rennes.fr/) ?

Hors ligne

#10 2012-06-29 15:46:10

geceo
Membre
Lieu : Cesson Sévigné
Inscription : 2008-05-10
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Oui pour les deux questions :
- l'option «Méthode de lecture des URLs» est bien "PATH_INFO"
- l'URL du blog est définie à : "http://www.escrime-cesson-rennes.fr/" donc se termine pas un slash

D'ailleurs la réécriture d'URL fonctionne, au moins en partie, puisque les pages s'affichent avec le bon contenu. Le seul truc qui ne va pas c'est le code d'erreur 404 qui leur est associé.

Hors ligne

#11 2012-06-29 16:53:25

pierrevg
Membre
Inscription : 2005-04-13
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Pour éliminer un pb de thème, tu peux passer sur le thème par défaut non modifié et à jour ?

Hors ligne

#12 2012-06-29 21:28:33

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

geceo a écrit :

Le seul truc qui ne va pas c'est le code d'erreur 404 qui leur est associé.

Ce que je ne comprends pas très bien, c'est qu'on arrive aux pages par leur URL sans souci. Seul le validateur voit des 404, qui peut-être n'en sont pas vraiment (?)

edit : les en-têtes http renvoyées sont bien 404 not found sur les pages, il y a donc bien un problème, que je n'ai malheureusement pas encore vu sur d'autres blogs avec la même configuration. Le .htaccess contient-il autre chose que les lignes postées ci-dessus ? Comment est configuré le serveur (php en cgi ?).... bref je ne trouve rien qui cloche, mais ça cloche...

Dernière modification par Philippe (2012-06-29 21:39:46)

Hors ligne

#13 2012-06-30 08:01:49

geceo
Membre
Lieu : Cesson Sévigné
Inscription : 2008-05-10
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

pierrevg a écrit :

Pour éliminer un pb de thème, tu peux passer sur le thème par défaut non modifié et à jour ?

Je viens de passer sur Ductile pour vérifier, et j'ai toujours ces erreurs 404.

Hors ligne

#14 2012-06-30 08:47:22

geceo
Membre
Lieu : Cesson Sévigné
Inscription : 2008-05-10
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Je viens de constater quelque chose d'intéressant : quand j'ajoute /index.php devant /pages dans l'URL, le serveur renvoie la page avec 200 OK. Par exemple :

http://www.escrime-cesson-rennes.fr/ind … -benevoles

renvoie 200, alors que :

http://www.escrime-cesson-rennes.fr/pag … -benevoles

renvoie 404.

ÉDITION : j'ai trouvé, ça marche si je définis PHP_VER à 5 mais pas avec PHP_VER 5_3 ou PHP_VER 5_4 :

SetEnv PHP_VER 5
SetEnv REGISTER_GLOBALS 0
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1

J'avoue ne pas du tout comprendre pourquoi le fait de dire que je veux utiliser PHP 5.3 ou 5.4 pousse la règle de réécriture d'URL à marcher «à moitié»… Très étrange tout ça, si quelqu'un qui est chez OVH veut tester, ça pourrait être intéressant de voir si ça fait ça aussi.

Dernière modification par geceo (2012-06-30 09:18:22)

Hors ligne

#15 2012-06-30 12:43:31

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

geceo a écrit :

Très étrange tout ça, si quelqu'un qui est chez OVH veut tester, ça pourrait être intéressant de voir si ça fait ça aussi.

Bingo ! Je viens de tester avec le site de mon profil, et toutes les pages, sauf l'accueil, renvoient une 404 avec php5.4 (mais toutes s'affichent correctement ^^). Je pense qu'il va falloir pousser plus loin les investigations du côté de chez OVH, c'est un comportement vraiment étrange...

Hors ligne

#16 2012-06-30 13:43:46

geceo
Membre
Lieu : Cesson Sévigné
Inscription : 2008-05-10
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

J'ai signalé le problème chez OVH, on verra s'ils corrigent :

http://forum.ovh.com/showthread.php?t=80932

À bientôt,
Grégoire

Hors ligne

#17 2012-07-04 17:21:05

geceo
Membre
Lieu : Cesson Sévigné
Inscription : 2008-05-10
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Bonjour,

Un gars sur le forum d'OVH vient de me répondre que DotClear n'est pas compatible PHP 5.4 (et même PHP 5.3 du coup). C'est quelque chose d'officiel, ça?

Pour ma part je n'avais pas envisagé cette hypothèse. Quel pourrait être le changement entre PHP 5.2 et PHP 5.3 qui entraîne l'envoi du statut 404 au lieu du statut 200? Et comme il me semble qu'on doit utiliser la fonction header de PHP pour définir le statut HTTP, j'ai fait une rapide recherche dans le répertoire avec :

grep -r header * | grep Status

et cela m'a donné les trois fichiers suivants :

- inc/libs/clearbricks/common/lib.http.php
- inc/libs/clearbricks/ext/incutio.ixr_library.php
- inc/libs/clearbricks/net.xmlrpc/class.net.xmlrpc.php

J'imagine que ça pourrait être dans lib.http.php que ça se passe?

Grégoire

Dernière modification par geceo (2012-07-04 17:49:39)

Hors ligne

#18 2012-07-05 07:15:46

Jean-Michel
Modérateur à ailes d'ange
Lieu : Paris
Inscription : 2006-08-22
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

geceo a écrit :

Un gars sur le forum d'OVH vient de me répondre que DotClear n'est pas compatible PHP 5.4 (et même PHP 5.3 du coup).

Si je puis me permettre, cette personne sur le forum d'OVH ne justifie pas sa réponse donc difficile de prendre sa réponse comme une affirmation absolue.

Hors ligne

#19 2012-07-05 10:09:09

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

et en ajoutant :

 <Directory />
    AllowOverride All
 </Directory>

ça change quelque chose ?


Dyslexics have more fnu!

Hors ligne

#20 2012-07-05 15:19:11

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Dsls a écrit :

ça change quelque chose ?

Oui : 500 Internal Server Error :P

Hors ligne

#21 2012-07-05 16:23:20

geceo
Membre
Lieu : Cesson Sévigné
Inscription : 2008-05-10
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

J'obtiens une erreur 500 (où faut-il mettre la clause Directory?)

Dernière modification par geceo (2012-07-05 17:38:58)

Hors ligne

#22 2012-08-07 11:49:37

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

LE problème est effectivement chez OVH : pour une raison que j'ignore, on ne peut pas faire de rewrite_rules vers un chemin en path_info à partir de PHP 5.3.

Solution : configure ton blog en query_string, et change tes règles comme suit :

SetEnv PHP_VER 5
SetEnv REGISTER_GLOBALS 0
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1

(seule la dernière ligne change)


Dyslexics have more fnu!

Hors ligne

#23 2012-08-07 20:10:02

ikkiphenix
Membre
Inscription : 2012-08-07

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Bonsoir à tous,

Désolé de n'apporter qu'un témoignage de plus, pour l'instant sans solution...

Moi aussi chez OVH, utilisant Dotclear en PATH_INFO et en réecrivant le index.php, je ne parviens pas à me sortir de PHP_5_3 et PHP_5_4. Dans mon cas c'est le plugin du player FLV (il ne s'affiche pas) et le fil RSS (feuille XSL pas trouvée) qui m'ont alerté.

Une personne sur le forum OVH proclame que Dotclear n'est pas compatible PHP 5.3 / PHP 5.4... Mais ça ne tient pas. J'ai essayé avec succès sur d'autres hébergements et pour l'instant c'est le cas OVH qui me pose problème.

J'ai comparé les PHPINFO, les configs, les variables mais je sèche. Si quelqu'un trouve ou si modifie quelque chose, je suis preneur.

Hors ligne

#24 2012-08-08 06:51:39

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Que les choses soient claires : le PATH_INFO est principalement un pis-aller pour les hébergeurs ne supportant pas les réécritures d'URL (free par exemple). En cherchant un peu sur le web, nombreux sont les problèmes de gens qui ont un php en fast_cgi et font des réécritures d'URL vers des URL en path_info. Autant donc s'en passer. Ce n'est pas dotclear qui en est la cause.

Concrètement, voilà comment fonctionne apache pour un test en path_info. Exemple pour http://foo.bar/index.php/post/2012/08/08/Test :
* Apache vérifie si le fichier index.php/post/2012/08/08/Test existe, ce n'est pas le cas
* Apache vérifie si le fichier index.php/post/2012/08/08 existe, ce n'est pas le cas
* Apache vérifie si le fichier index.php/post/2012/08 existe, ce n'est pas le cas
* Apache vérifie si le fichier index.php/post/2012 existe, ce n'est pas le cas
* Apache vérifie si le fichier index.php/2012 existe, ce n'est pas le cas
* Apache vérifie si le fichier index.php, bingo. Il charge index.php et fixe le path_info à  /post/2012/08/08/Test
Ca nous fait donc au moins 6 tests par url...

Le mieux est de configurer son blog en query_string, et de mettre les bonnes rewrite rules (voir mon message précedent). Ca ne change rien aux URLs finales...


Dyslexics have more fnu!

Hors ligne

#25 2012-08-10 11:40:29

ikkiphenix
Membre
Inscription : 2012-08-07

Re : Réécriture d'URL chez OVH et erreurs 404 (PHP_VER 5_4)

Dsls a écrit :

Le mieux est de configurer son blog en query_string, et de mettre les bonnes rewrite rules (voir mon message précedent). Ca ne change rien aux URLs finales...

Merci.
Ca semble en effet la meilleure solution.

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map