Campagnes de tests Version avant-garde 12.9.23

problème avec l'encodage des url

PreviousNextIndex

Suite à Pas de titre avec des parenthèses ou guillemets j'ai effectué la modification indiquée par Bernard dans shared/global.php

J'ai toujours des soucis sur plusieurs sites installés chez OVH dont un avec cette 12.9.23 (fraichement installée)

Sur yacs. fr un titre avec ":" ou "/" fonctionne correctement mais pas chez moi :

titre :

titre Url message d'erreur
article avec / dedans article-54-test-%2F-test

Not Found

The requested URL /article-54-titre-avec-/-dedans was not found on this server.

titre avec : deddans /article-54-titre-avec-%3A-dedans La page n'est pas redirigée correctement
      
Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.

avec des parenthèses ou des guillements cela fonctionne


Christian
on Nov. 23 2012 at 10:38 am GMT
Problème résolu en forçant la version php à 5.3 chez OVH

dans le .htaccess j'ai ajouté SetEnv PHP_VER 5_3
comme mentionné ici : http://guides.ovh.com/Php5ChezOvh

Bizarre quand même que sur le même hébergement avec le .htaccess de base de Yacs j'utilise des versions php différentes !


Actupro
quelques sites yacs : création site internet annuaire pro

Christian
on Nov. 23 2012 at 09:50 am GMT

avec Lasares RC 2 et des tests sur plusieurs environnements j'ai toujours le problème
sur certains sites seulement

  • sur un mutualisé OVH avec version php 5.2.17 j'ai toujours l'erreur sur une page dont le titre est "test : page" par exemple 
  • sur le même mutualisé ovh avec php 5.3.16 ca fonctionne
  • Chez Eurowh avec version php 5.3.18 je n'ai pas le problème 
  • Ici sur yacs.fr on a une version php 5.3.3
  • s



Actupro
quelques sites yacs : création site internet annuaire pro

Christian
on Nov. 21 2012 at 04:44 pm GMT

Je n'arrive pas à voir ou est ensuite utilisé cette constante mais peut-être n'ai-je pas la bonne version ?




Actupro
quelques sites yacs : création site internet annuaire pro

Bernard Paques
on Nov. 20 2012 at 10:26 pm GMT
Hmm, autant pour moi, j'aurais du faire le test localement avant de proposer le patch ci-dessous. URL_SAFE_ALPHABET doit contenir les caractères non transformés, donc : et / ne doivent pas y apparaitre. Désolé pour la confusion, mais le code posté sur github est ok. Ne pas tenir compte de mon commentaire précédent.

Bernard Paques
on Nov. 20 2012 at 10:12 pm GMT
J'ai transformé la définition de la constante URL_SAFE_ALPHABET pour y ajouter ':' et '/' afin qu'ils soient éliminés du lien généré par yacs. Lignes 75 et suivantes de shared/global.php :


// options to utf8::to_ascii() for the encoding of individual component of URLs and web links
if(!defined('URL_SAFE_ALPHABET'))
define('URL_SAFE_ALPHABET', '-_.~:/'); // all of these chars will be turned to '-'

PreviousNextIndex