Les avertissements suivants se sont produits :
Warning [2] Undefined array key 0 - Line: 1640 - File: showthread.php PHP 8.2.18 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php 1640 errorHandler->error_callback
/showthread.php 915 buildtree




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[RESOLU]Conflict réécriture d'URL
#1
Bonjour,

Sur un site, j'ai le module CGBlog et un module Catalogue que j'ai développé.

Lorsque je me rend sur le front dans la partie du blog, que je clique sur un article il s'affiche correctement.

Par contre, si je veux me rendre dans les archives du blog, je me retrouve avec une erreur 404.
Si je désactive mon module Catalogue le problème disparait.

J'ai modifié le fichier action.archive.php du module CGBlog pour ne plus avoir la réécriture d'URL sur les liens des archives se qui me permet d'avoir accès aux articles archivés. Mais Lorsque je clique sur un article archivé, j'ai une erreur 404 alors que l'URL est identique à celle des articles non archivés qui fonctionnent correctement.

Je vous met les URL réécrite de CGBlog et du module Catalogue
CGBLog :
Code :
[== Indéfini ==]
http://exemple.tld/actualites/archive/2016/03/62.html

Catalogue :
Code :
[== Indéfini ==]
http://exemple.tld/95/1/1/produit-01.html

Je vous met également la réécriture d'URL du module Catalogue
Code :
[== PHP ==]
public function InitializeFrontend() {
        $this->SetParameterType('template',CLEAN_STRING);
        $this->SetParameterType('summarytemplate',CLEAN_STRING);
        $this->SetParameterType('producttemplate',CLEAN_STRING);
        $this->SetParameterType('packtemplate',CLEAN_STRING);
        $this->SetParameterType('catid',CLEAN_STRING);
        $this->SetParameterType('prodid',CLEAN_STRING);
        $this->SetParameterType('packid',CLEAN_STRING);
        $this->SetParameterType('junk',CLEAN_STRING);
        $this->SetParameterType('pageid',CLEAN_INT);
        
        $this->RegisterModulePlugin();

        $this->RegisterRoute('/(?P<returnid>[0-9]+)\/(?P<catid>[0-9]+)\/(?P<prodid>[0-9]+)\/(?P<junk>.*?)$/',
                     array('action'=>'product'));
                    
        $this->RegisterRoute('/(?P<returnid>[0-9]+)\/(?P<catid>[0-9]+)\/(?P<junk>.*?)$/',
                     array('action'=>'category'));
                    
        $this->RegisterRoute('/(?P<returnid>[0-9]+)\/(?P<packid>[0-9]+)\/(?P<junk>.*?)$/',
                     array('action'=>'pack'));
        
                    
    }

Je ne vois pas de point commun avec la réécriture du module CGBlog...

Si vous avez une idée ou la solution.

Cordialement

bobjo


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)