Dotclear

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

Annonce

#1 2020-02-02 23:21:36

Vincent DECONINCK
Membre
Inscription : 2020-02-02

[Résolu] Problème de configuration avec PATH_INFO

Bonjour,

Mon blog est encore chez mon hébergeur sous un subdomain de mon nom de domaine, à savoir http://blog.deconinck.info .
Son dotclear est configuré avec PATH_INFO, et j'ai donc des URLs comme :
http://blog.deconinck.info/post/2015/10 … ashing-jig

Je voudrais rapatrier le blog sur un serveur chez moi où j'ai installé Dotclear, et vers lequel j'ai fait pointer http://myblog.deconinck.info (le préfixe "my" sera retiré une fois la migration terminée).
Le problème, c'est que par défaut, Dotclear est configuré en QUERY_STRING, et le même billet se retrouvait donc sur l'URL:
http://myblog.deconinck.info/index.php? … ashing-jig

C'est évidemment problématique puisque tous les anciens liens qui pointeraient vers un billet (depuis des sites externes, des forums, etc) retourneraient une erreur 404. Mon serveur donc répondre à la même structure d'URL.

En suivant ce qu'indique la doc, j'ai tenté de basculer la configuration avancée du blog:
- depuis QUERY_STRING avec un URL http://myblog.deconinck.info/index.php?
- vers PATH_INFO avec un URL http://myblog.deconinck.info/index.php/
et dès lors mes URLs sont de la forme :
http://myblog.deconinck.info/index.php/ … ashing-jig

C'est mieux, mais pas encore compatible.
J'ai essayé de mettre juste http://myblog.deconinck.info/ comme URL du blog (sans index.php/) dans la config, mais ça ne fonctionne pas.

Je me suis donc tourné vers la documentation avancée et j'ai ajouté un .htaccess avec le code suivant :

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php/$1
RewriteRule ^index.php$  index.php/

A présent, quand j'appelle l'URL que je vise, par exemple:
http://myblog.deconinck.info/post/2015/ … ashing-jig
j'atterris bien sur le blog, mais le billet n'est pas trouvé (Message "Document not found - The document you are looking for does not exist.").
Alors que la version avec index.php fonctionne toujours:
http://myblog.deconinck.info/index.php/ … ashing-jig

J'ai aussi tenté de décommenter les lignes suivantes du config.php:

if (!isset($_SERVER['ORIG_PATH_INFO'])) {
    $_SERVER['ORIG_PATH_INFO'] = '';
}
$_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];

mais ça n'a rien changé non plus...

J'ai trouvé d'autres posts avec des configs exotiques (comme celui-ci), et essayé de reproduire les solutions, mais sans succès après plusieurs heures d'essais/erreurs. J'ai donc un peu l'impression que j'arrive au bout de mes options,,.

Du coup, je me demande : est-ce que le serveur hébergé est vraiment en PATH_INFO, ou bien simplement en QUERY_STRING, mais avec un masquage de la partie "index.php?" par un URL rewriting ? Quel serait la différence ?

Je pense que je ne suis pas loin, mais je n'arrive pas à mettre le doigt sur le problème. Une idée de ce qu'il faudrait changer ?

Merci,

Vincent

PS: à noter que depuis le passage en QUERY_STRING, les chemins des images (qui étaient relatifs) ne fonctionnent plus non plus, mais si ça persiste une fois les URLs fonctionnels, je pourrai corriger les chemins ultérieurement.

Dernière modification par Vincent DECONINCK (2020-02-04 00:36:32)

Hors ligne

#2 2020-02-03 16:42:59

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

Re : [Résolu] Problème de configuration avec PATH_INFO

Bonjour

Le path_info n'est pas ce qu'il y a de plus efficace, cf. ici une explication : https://forum.dotclear.org/viewtopic.ph … 25#p315825

Je te conseille donc de passer en query_string avec cette règle de réécriture :

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1

Puis choisis query_string comme méthode de lecture des urls. L'URL du blog dans les paramètres sera http://monsite.com/ (ne tiens pas compte de l'avertissement disant qu'il manque un ? à la fin)

Les urls des images dans les billets devraient fonctionner aussi, en effet normalement elles sont relatives (/public/image.jpg)

Ensuite, tu peux voir sur le site de mon profil que les adresses avec ou sans index.php? fonctionnent

avec index.php? dans l'url

sans index.php? dans l'url

Hors ligne

#3 2020-02-04 00:35:14

Vincent DECONINCK
Membre
Inscription : 2020-02-02

Re : [Résolu] Problème de configuration avec PATH_INFO

Bonsoir,

Se pourrait-il que ce soit si simple ?

... eh bien oui, j'ai appliqué les instructions et (après un nettoyage du cache du navigateur qui m'a d'abord fait penser que c'était raté), tout fonctionne à merveille.

J'avais déjà tenté ce simple Rewrite, mais jamais osé supprimer le "?" dans l'URL du blog vu l'avertissement :-)

J'ai re-corrigé les URLs des images (que j'avais rendus relatifs parce que dans un premier temps dotclear était installé dans un sous-répertoire), mais avec l'URL qui ressemble à présent à un simple chemin, le navigateur cherchait les images relativement à la dernière partie de l'URL et ne les trouvait pas. En repassant à un chemin absolu pour les images, tout est nickel.

Je croyais devenir fou, mais j'ai retrouvé la raison grâce à toi, Philippe :-)

Un grand merci donc !


Vincent

PS: et merci pour les explications sur les inconvénients du mode PATH_INFO

Dernière modification par Vincent DECONINCK (2020-02-04 00:36:16)

Hors ligne

#4 2020-02-04 17:54:03

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

Re : [Résolu] Problème de configuration avec PATH_INFO

Vincent DECONINCK a écrit :

J'avais déjà tenté ce simple Rewrite, mais jamais osé supprimer le "?" dans l'URL du blog vu l'avertissement :-)

Je me demande d'ailleurs si cet avertissement est nécessaire...

Hors ligne

#5 2020-02-04 19:01:34

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

Re : [Résolu] Problème de configuration avec PATH_INFO

Philippe a écrit :

Le path_info n'est pas ce qu'il y a de plus efficace, cf. ici une explication : https://forum.dotclear.org/viewtopic.ph … 25#p315825

Hou pinaise, il a 16 ans ce post... (Je ne fais que passer)


Dyslexics have more fnu!

Hors ligne

#6 2020-02-05 06:36:47

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] Problème de configuration avec PATH_INFO

Philippe a écrit :
Vincent DECONINCK a écrit :

J'avais déjà tenté ce simple Rewrite, mais jamais osé supprimer le "?" dans l'URL du blog vu l'avertissement :-)

Je me demande d'ailleurs si cet avertissement est nécessaire...

Je pense que si, tout de même, vu que Dotclear ne peut pas savoir pour les règles de ré-écriture Apache/nginx

Cela dit, en écrivant ça, je me demande s'il n'y a pas moyen de moyenner… Faut que je fasse des tests…


Dotclear addicted since 2004

Hors ligne

#7 2020-02-05 11:15:31

Vincent DECONINCK
Membre
Inscription : 2020-02-02

Re : [Résolu] Problème de configuration avec PATH_INFO

Hello,

Philippe a écrit :
Vincent DECONINCK a écrit :

J'avais déjà tenté ce simple Rewrite, mais jamais osé supprimer le "?" dans l'URL du blog vu l'avertissement :-)

Je me demande d'ailleurs si cet avertissement est nécessaire...

En fait, l'avertissement indique bien que c'est "sauf cas particulier", mais j'ignorais que la réécriture d'URL était un de ces cas particuliers.

Mon conseil serait plutôt de compléter la documentation sur la page https://fr.dotclear.org/documentation/2 … e-de-l-url en indiquant dans la section "Il est possible de retirer les "index.php" et "?"..." la nécessité de modifier également l'URL du blog pour être simplement "http://<mondomaine>/".
J'y indiquerais également que le mode PATH_INFO est déconseillé pour des raisons de performance et ne se justifie que si l'hébergeur ne supporte pas la réécriture d'URL.

Par contre, dans l'interface, on pourrait ajouter un avertissement quand on sélectionne le mode "PATH_INFO" qui indique également qu'il est à réserver pour des cas particuliers, avec un renvoi vers la page de doc ci-dessus...

Enfin, ce n'est que mon avis...

Cordialement,

Vincent

Hors ligne

#8 2020-02-05 15:58:31

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

Re : [Résolu] Problème de configuration avec PATH_INFO

Attendons la confirmation de Franck, ensuite on verra s'il faut mettre la doc à jour. Merci pour les suggestions ;)

Hors ligne

#9 2020-02-06 06:50:38

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] Problème de configuration avec PATH_INFO

Étant donné que :

- C'est un réglage avancé côté blog
- C'est un choix fait de manière éclairé par quelqu'un qui maîtrise un minimum, en particulier la config Apache/nginx
- QUERY_STRING est le choix par défaut
- Je suis une grosse feignasse

Je propose de ne toucher à rien côté code et pourquoi pas compléter la doc à ce sujet :-D

Z'en dites ?


Dotclear addicted since 2004

Hors ligne

#10 2020-02-09 10:36:33

Vincent DECONINCK
Membre
Inscription : 2020-02-02

Re : [Résolu] Problème de configuration avec PATH_INFO

Franck a écrit :

Je propose de ne toucher à rien côté code et pourquoi pas compléter la doc à ce sujet :-D
Z'en dites ?

+1
Vincent

Hors ligne

#11 2020-07-31 09:02:05

poussin
Membre
Inscription : 2008-10-28

Re : [Résolu] Problème de configuration avec PATH_INFO

Bonjour,
J'ai le même problème suite au transfert de l'hébergement Gandi Blog vers une instance Simple Hosting ( vhosts) avec plusieurs blogs  monsite1, monsite2 , ...

PHP 7.3 + MySQL 5.7   ; Dotclear 2.16.9   Apache/2.4.43 (Unix)

1) Dans quel dossier , mettez vous le fichier  .htacess avec l'URL rewriting  dans l'arborescence du type  /monstore/web/vhosts/monsite1.com/htdocs/inc     ?

2) Quand je supprime  le ?  dans l'URL du blog dans les paramètres  http://monsite.com/? avec l'option  "query string " , les pages du blog ne sont  plus accessibles  et j'obtiens un message d'erreur  dans le panneau de configuration de Dotclear:
""  L'URL du blog ou la méthode de lecture de l'URL ne semblent pas être bien réglées (http://exavue.eu/feed/atom retourne un statut 404)  ""

Merci d'avance

Hors ligne

#12 2020-07-31 10:25:30

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

Re : [Résolu] Problème de configuration avec PATH_INFO

Sur un hébergement Simple Hosting il y a un répertoire par vhost (domaine ou sous-domaine), contenant lui-même un répertoire nommé htdocs. C'est à la racine de ce répertoire htdocs qu'il faut mettre le fichier .htaccess

Ce fil est ancien, voici une meilleure méthode pour enlever index.php? des URLs en QUERY_STRING

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]

Dernière modification par Philippe (2020-07-31 15:57:26)

Hors ligne

#13 2020-07-31 22:05:11

poussin
Membre
Inscription : 2008-10-28

Re : [Résolu] Problème de configuration avec PATH_INFO

Merci.
Absolument brillant .

Note:
il semble que le serveur apache n'apprécie pas un .htacess avec :


# Apache 2.2
<IfModule !authz_core_module>
  Deny from all
</IfModule>

# Apache 2.4+
<IfModule authz_core_module>
  Require all denied

dans le dossier htdocs

Hors ligne

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

Pied de page des forums

Sites map