Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2012, 11h04   #1
Membre du Club
 
Inscription : juin 2008
Messages : 91
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 91
Points : 49
Points : 49
Par défaut Route sitemap.xml qui va sur la "default"

Bonjour à tous,

J'ai un petit problème avec mes routes.
www.monsite.fr fonctionne très bien (route par défaut)
www.monsite.fr/controller/... également

Cependant je ne parviens pas à faire fonctionner ma route sitemap.xml (www.monsite.fr/sitemap.xml). Celle-ci redirige vers ma route "default" et me sort donc un invalid controller spécifier sitemap.xml.

Voici le code qui génère mes routes
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
        $front = Zend_Controller_Front::getInstance();            
        $router = $front->getRouter();
        $router->removeDefaultRoutes();
 
        $translated = new Zend_Controller_Router_Route(':controller/:action/*',
        array(
            'action'     => 'index',
            'controller' => 'index',
            'module'     => 'default',
            'lang'       => $currentLang
        ));
        $router->addRoute('default',$translated);
 
        $siteMap = new Zend_Controller_Router_Route('sitemap.xml',
        array(
            'action'     => 'sitemap',
            'controller' => 'index',
            'module'     => 'default',
            'lang'       => $currentLang
        ));
        $router->addRoute('sitemap',$siteMap);
www.monsite.fr/sitemap.xml ne devrait pas rediriger vers la route sitemap? Comment imposer ce comportement s'il vous plaît ?

Merci d'avance,
omageus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 12h25   #2
Membre actif
 
Homme Ahmed Benlahsen
Ingenieur BI - Dev Web Senior
Inscription : décembre 2009
Messages : 118
Détails du profil
Informations personnelles :
Nom : Homme Ahmed Benlahsen
Localisation : Maroc

Informations professionnelles :
Activité : Ingenieur BI - Dev Web Senior

Informations forums :
Inscription : décembre 2009
Messages : 118
Points : 157
Points : 157
Envoyer un message via MSN à abenlahsen Envoyer un message via Skype™ à abenlahsen
Par défaut Zend Route Static

Bonjour omageus,

Essaye
Code :
1
2
3
4
5
6
7
8
$siteMap = new Zend_Controller_Router_Route_Static('sitemap.xml',
        array(
            'action'     => 'sitemap',
            'controller' => 'index',
            'module'     => 'default',
            'lang'       => $currentLang
        ));
$router->addRoute('sitemap',$siteMap);
Bon courage
abenlahsen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 12h35   #3
Membre du Club
 
Inscription : juin 2008
Messages : 91
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 91
Points : 49
Points : 49
Hello,

Merci pour ton intérêt à mon problème. La solution du Static ne change malheureusement rien. Je ne parviens pas à faire passer une route devant la basique.

Le seul moyen que j'ai trouvé (que je trouve pas terrible) est d'ajouter des "requirements" à la route, en lui disant de ne pas considérer les url en .xml.

J'aimerais obtenir une autre solution
Je dois rater un truc, le contraire m'étonnerait.
omageus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 21h28   #4
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
Tu devrais essayer cela dans ton bootstrap :

Code :
1
2
3
4
5
6
7
8
9
 
        $router = new Zend_Controller_Router_Rewrite();
        $router->addRoute(
            'sitemap',
            new Zend_Controller_Router_Route( 'sitemap.xml', array( 'module' => 'default', 'controller' => 'index', 'action' => 'sitemap', 'lang' => $currentLang) )
        );
 
        $controller = Zend_Controller_Front::getInstance();
        $controller->setRouter( $router );
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 09h12   #5
Membre du Club
 
Inscription : juin 2008
Messages : 91
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 91
Points : 49
Points : 49
Échec

Tant que ma route principale est déclarée (routeStartup) impossible d'en affecter une autre pour la "dépasser".

Même un setRouter() ne semble pas y changer quelque chose. Ce comportement m'étonne.
omageus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h18.


 
 
 
 
Partenaires

Hébergement Web