developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 13 years ago

Closed 13 years ago

#401 closed bug (fixed)

notfoundAct et default="true" dans urls.xml

Reported by: hugues Owned by:
Priority: normal Milestone: Jelix 1.0
Component: jelix:core Version: 1.0RC2
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Documentation needed:
Hosting Provider: Php version:

Description

Quand dans mon urls.xml j'ai un entrypoint par defaut, les mauvaises urls ne sont plus trapées et pointe sur les startAction et startModule défini dans le config.ini.php

Quand on désactive l'entrypoint par défaut, ca fonctionne bien, mais par contre, on ne peu plus acceder au module et fonction en tapant directement leur url index.php?module=site&action=test:echo

Change History (1)

comment:1 Changed 13 years ago by laurentj

  • Component changed from jelix to jelix:core
  • Milestone set to Jelix 1.0
  • Resolution set to fixed
  • Status changed from new to closed

Le patch :

Index: lib/jelix/plugins/urls/significant/significant.urls.php
===================================================================
--- lib/jelix/plugins/urls/significant/significant.urls.php     (révision 727)
+++ lib/jelix/plugins/urls/significant/significant.urls.php     (copie de travail)
@@ -255,18 +255,19 @@
                 }
             }
         }
-        if(!$urlact && !$isDefault){
-            try{
-                $urlact = jUrl::get($gJConfig->urlengine['notfoundAct'],array(),jUrl::JURLACTION);
-            }catch(Exception $e){
-                $urlact = new jUrlAction(array('module'=>'jelix', 'action'=>'error:notfound'));
+        if(!$urlact) {
+            if($isDefault && $pathinfo == ''){
+               // si on n'a pas trouvé de correspondance, mais que c'est l'entry point
+               // par defaut pour le type de request courant, alors on laisse passer..
+               $urlact = new jUrlAction($params);
+            } else {
+               try{
+                   $urlact = jUrl::get($gJConfig->urlengine['notfoundAct'],array(),jUrl::JURLACTION);
+               }catch(Exception $e){
+                   $urlact = new jUrlAction(array('module'=>'jelix', 'action'=>'error:notfound'));
+               }
             }
-        }else if(!$urlact && $isDefault){
-            // si on n'a pas trouvé de correspondance, mais que c'est l'entry point
-            // par defaut pour le type de request courant, alors on laisse passer..
-            $urlact = new jUrlAction($params);
         }
-
         return $urlact;
     }


Inclus dans le trunk.

Note: See TracTickets for help on using tickets.