THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

J'ai mis à jour un site vers la dernière version de Thélia.
Le rewriting fonctionne sur les rubriques qui était déjà créées.

J'ai voulu créé de nouvelles rubrique et là, problème...
Dans la BO quand je valide une nouvelle rubrique, L'URL réécrite ne s'écrit pas comme les autres déjà créées dans la version antérieure et cela renvoi à une erreur 404 Not Found (Le problème est le même pour les produits, dossiers et contenus)

Exemple :
URL créé avec l'ancienne version = affichage-dynamique_35_domaine_.html (c'est OK)
URL créé avec la nouvelle version = 35-domaine.html (ça ne marche pas)

Pour que l'URL fonctionne il faut que je le modifie manuellement dans la BO.

Pouvez vous me dire comment résoudre ce probleme.

Merci
Guy

  • yoan
  • Cofondateur Thelia

Offline


Tu as remplacé le htaccess ?


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Bonjour,
Le site concerné est www.tessier-diffusion.com/index1.php
Le htacces est le suivant :

AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d



#CONTENU
#############
RewriteRule   ^([a-z0-9-]*)__([0-9]*)_([a-z0-9-]*)_([0-9]*)\.html  /contenu.php?id_contenu=$4&id_dossier=$2  [NC,QSA,L]

#DOSSIER
############
RewriteRule   ^([a-z0-9-]*)__([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)_\.html  /dossier.php?id_dossier=$2 [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)__([0-9]*)_([a-z0-9-]*)_\.html /dossier.php?id_dossier=$2 [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)__([0-9]*)_\.html  /dossier.php?id_dossier=$2  [NC,QSA,L]

#RUBRIQUE
##############
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)_([a-z0-9-]*)_\.html /rubrique.php?id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)_\.html  /rubrique.php?id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_\.html  /rubrique.php?id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_\.html  /rubrique.php?id_rubrique=$2  [NC,QSA,L]


#PRODUIT
#############
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)_([a-z0-9-]*)__([^.]*)\.html  /produit.php?ref=$6&id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)__([^.]*)\.html  /produit.php?ref=$5&id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)__([^.]*)\.html  /produit.php?ref=$4&id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)__([^.]*)\.html  /produit.php?ref=$3&id_rubrique=$2  [NC,QSA,L]
</IfModule>

Offline


Bonjour,
Quelqu'un a une réponse à ma question ?
Merci d'avance
Guy

  • yoan
  • Cofondateur Thelia

Offline


C'est l'ancien htaccess ça.

Options +FollowSymlinks

AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z_.\-0-9]+)$ index.php?url=$1 [L,QSA]

</IfModule>


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Bonjour et merci de ta réponse,

J'ai changé le htacces par le nouveau et la j'ai "Internal Server Error".
J'ai supprimé "Options +FollowSymlinks" mais le probleme persiste.

Je ne sais pas comment faire ?
Je dois faire évoluer d'autres sites vers la version 1.5.5, j'ai besoin de votre aide
Guy

Offline


Il est tout mélangé ton htaccess. Essaie ça :

AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>

RewriteEngine on

#CONTENU
#############
RewriteRule   ^([a-z0-9-]*)__([0-9]*)_([a-z0-9-]*)_([0-9]*)\.html  /contenu.php?id_contenu=$4&id_dossier=$2  [NC,QSA,L]

#DOSSIER
############
RewriteRule   ^([a-z0-9-]*)__([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)_\.html  /dossier.php?id_dossier=$2 [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)__([0-9]*)_([a-z0-9-]*)_\.html /dossier.php?id_dossier=$2 [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)__([0-9]*)_\.html  /dossier.php?id_dossier=$2  [NC,QSA,L]

#RUBRIQUE
##############
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)_([a-z0-9-]*)_\.html /rubrique.php?id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)_\.html  /rubrique.php?id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_\.html  /rubrique.php?id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_\.html  /rubrique.php?id_rubrique=$2  [NC,QSA,L]


#PRODUIT
#############
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)_([a-z0-9-]*)__([^.]*)\.html  /produit.php?ref=$6&id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)__([^.]*)\.html  /produit.php?ref=$5&id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)__([^.]*)\.html  /produit.php?ref=$4&id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)__([^.]*)\.html  /produit.php?ref=$3&id_rubrique=$2  [NC,QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z_.\-0-9]+)$ index.php?url=$1 [L,QSA]

</IfModule>


OpenStudio Toulouse

Offline


Bonjour Roadster et merci

J'ai mis le htacess que tu m'as envoyé mais le serveur me renvoi la meme erreur
Internal Server Error Apache/1.3.41 Server at 80.247.228.100 Port 80

Pour que ca fonctionne j'enleve cette formule :
RewriteRule ^([a-zA-Z_.\-0-9]+)$ index.php?url=$1 [L,QSA]

mais ça ne résoud pas mon probleme, je dois renommer tous les pages nouvelles.

Mon probleme doit bien avoir une solution, je ne crois pas être le seul à avoir ce soucis ?

Dans l'attente de vos suggestion
Cordialement
Guy

  • yoan
  • Cofondateur Thelia

Offline


Internal Server Error Apache/1.3.41 Server

Tout est dit. Cette nouvelle expression régulière est plus complexe et nécessite une version d'Apache plus récente.

Apache 1.3.41 est plutôt vieux.


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Ben non, ça doit marcher même en 1.3, où les regexp POSIX sont supportées (cf http://httpd.apache.org/docs/1.3/mod/mo … writeRule)

Il doit y avoir un autre problème...

Last edited by roadster31 (24-01-2012 11:25:46)


OpenStudio Toulouse

  • yoan
  • Cofondateur Thelia

Offline


J'ai eu un souci sur un Apache récemment et j'ai trouvé l'info sur un bout de forum quelque part. Après je ne sais pas si c'est exactement le même souci.

Après une maj d'Apache => ok


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

  • yoan
  • Cofondateur Thelia

Offline


La doc semble effectivement dire le contraire.


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Bonjour,
Que dois-je penser de vos reflexions ?
Merci de votre aide
Guy

Offline


Que c'est difficile de trouver des solutions à distance.


OpenStudio Toulouse

  • yoan
  • Cofondateur Thelia

Offline


Comme tu dis wink
En fonction des soucis, sans voir le détail, c'est pas évident.


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Bonjour,
Si vous avez besoin de plus détail vous pouvez me demander.
Avant de mettre à jour d'autres sites, je voudrais bien savoir la raison de ce dysfonctionnement.
Merci de votre expertise,
cordialement
Guy

Offline


J'ai dû changer le fichier htaccess pour que l'url rewriting fonctionne, voici ce que j'ai écrit :

Options +FollowSymlinks

AddDefaultCharset UTF-8

RewriteEngine On

RewriteBase /sous_repertoire/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9a-zA-Z_.\-]+)$ index.php?url=$1 [L,QSA]

Plugins : Modèles Thelia | Boucle libre | Rubriques déclinables en produits | Colissimo Access/Expert

Offline


Oui mais parce que ton site est dans /sous_repertoire, ce qui n'est pas le cas de tout le monde.


OpenStudio Toulouse

Offline


Bonjour à tous,

Oui, merci quand même, en effet mon site n'est pas dans un sous répertoire, il est bien à la racine.
Le problème, c'est que les URL créés avec l'ancienne version sont différents de ceux créés avec la nouvelle version.
Exemple :
URL créé avec l'ancienne version = affichage-dynamique_35_domaine_.html (c'est OK)
URL créé avec la nouvelle version = 35-domaine.html (ça ne marche pas)
Pouvez vous me dire si l'URL créé avec la dernière version est correct ? ou c'est là le probleme ?

Avant d'envisager de refaire complèment une installation et d'écraser la Base de données, je voudrais être sure qu'il n'y a pas de solution....
Mais pour les autre sites que j'ai à faire évoluer ??? le problème reste entier...

Dans l'attente de vos idées, merci encore
Guy

Offline


Bonjour,
Il n'y a pas de solution à ce problème ?
Les URL sont t-ils du bon format ?
Faut-t-il que je les renomme manuellement ?
Merci de me dire si oui ou non je peux faire des mises à jour pour mes autres sites sans que je soit contraint de renommer les nouveaux URL créés ?
Cordialement
Guy

Offline


Que se passe t-il si vous remplacez

RewriteRule ^([0-9a-zA-Z_.\-]+)$ index.php?url=$1 [L,QSA]

par

RewriteRule ^([.]+)$ index.php?url=$1 [L,QSA]

Attention ceci n'est pas une solution mais un moyen d'identifier le problème.


Plugins : Modèles Thelia | Boucle libre | Rubriques déclinables en produits | Colissimo Access/Expert

Offline


Bonjour et merci de votre réponse,

J'ai mis la ligne que vous m'avez envoyé
RewriteRule ^([.]+)$ index.php?url=$1 [L,QSA]
et il n'y a plus de "Internal Server Error Apache/1.3.41 Server".

Le rewriting fonctionne avec les anciens URL comme:
http://www.tessier-diffusion.com/affich … aine_.html

mais pour les URL créés avec la nouvelle version:
http://www.tessier-diffusion.com/35-domaine.html)
j'ai le message suivant :
The requested URL 35-domaine.html was not found on this server.
C'est normal, le répertoire racine (affichage-dynamique) n'est pas indiqué

On avance...
Si vous avez une nouvelle piste...
Guy

Offline


Bonjour,

Pour ma part chez mon hébergeur le .htaccess par défaut avec la 1.5.1 ne fonctionnait pas.

Ils m'ont suggéré de mettre ceci : RewriteRule ^(.+)$ index.php?url=$1 [L] à la place de cela : RewriteRule ^([a-zA-Z_.\-0-9]+)$ index.php?url=$1 [L,QSA]

Et ça marche très bien pour moi.

En espérant que cela puisse t'aider.

Offline


Bonjour,
Avec cette formule le serveur me renvoi Internal Server Error pour l'URL nouvelle version (http://www.tessier-diffusion.com/35-domaine.html)
merci quand même
Guy

Offline


Il y' a un caractère qui doit être échappé sur votre version d'apache.
Il vous faut donc tester petit à petit.

^([a-zA-Z0-9]+)$ index.php?url=$1 [L,QSA]
 ^([a-zA-Z0-9\-]+)$ index.php?url=$1 [L,QSA]
 ^([a-zA-Z0-9\-_]+)$ index.php?url=$1 [L,QSA]
 ^([a-zA-Z0-9\-\_]+)$ index.php?url=$1 [L,QSA]

etc ...

Last edited by alexandre (30-01-2012 11:06:49)


Plugins : Modèles Thelia | Boucle libre | Rubriques déclinables en produits | Colissimo Access/Expert