Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-02-2010 21:45:50

martinsupiot
Membre
Lieu: Nantes
Date d'inscription: 20-03-2007
Messages: 52
Site web

Routage et sous domaines

Bonjour,

Après une journée de tests et de recherches, voici mon problème :

Mon application est divisée en 3 parties :
- Un site pour s'inscrire (www.mondomaine.com)
- Un site d'administration (admin.mondomaine.com)
- Des sites en sous domaine pour les inscrits (xxx.mondomaine.com, yyy.mondomaine.com, zzz.mondomaine.com)

Je souhaite que le premier cas pointe sur le module "site", que le second pointe sur le module "admin" et que le dernier pointe sur le module "game".

Que me conseillez vous ?

Merci

ps: je préfère ne pas vous dire ou je ne suis pour le moment afin de ne pas vous influencer, mais j'ai passé la journée à tester pas mal de solutions, aucune ne semble me convenir pour le moment.

Dernière modification par martinsupiot (20-02-2010 21:46:46)

Hors ligne

 

#2 20-02-2010 22:48:10

martinsupiot
Membre
Lieu: Nantes
Date d'inscription: 20-03-2007
Messages: 52
Site web

Re: Routage et sous domaines

A force de chercher, forcément, on trouve...

Code:

 
    /**
     * Routes
     */
    protected function _initRoutes()
    {
        // Récupération du router
        $this->router = $this->front->getRouter();
        
        // Suppression des routes par défaut
        $this->router->removeDefaultRoutes();
        
        // Paramétrage de la route par défaut
        $pathRouteDefault = new Zend_Controller_Router_Route(
            ':language/:controller/:action/*',
            array(
                'controller' => 'index',
                'action'     => 'index',
                'module'     => 'www'
            ),
            array('language' => '^(fr|en)$',
                  'module' => '^(www)$'
            )
        );
        $this->router->addRoute('default', $pathRouteDefault);
        
        
        // Définition de la route pour les sous domaines
        $hostnameRouteSubdomain = new Zend_Controller_Router_Route_Hostname(
            ':sitename.mondomaine.:tld',
            array(
                  'module'     => 'game',
                  'tld'        => 'fr'
            ),
            array(
                  'tld'        => '^(com|fr|mobi)$',
                  'sitename'   => '^(jeu1|jeu2|jeu3)$')
        );
        $pathRouteSubdomain = new Zend_Controller_Router_Route(
            '/:language/:controller/:action/*',
            array(
                'controller'   => 'index',
                'action'       => 'index',
            ),
            array('language'   => '^(fr|en)$')
        );
        $this->router->addRoute('subdomain', $hostnameRouteSubdomain->chain($pathRouteSubdomain));
        
        
        // Définition de la route pour l'administration
        $hostnameRouteAdmin = new Zend_Controller_Router_Route_Hostname(
            'admin.mybabygame.:tld',
            array(
                'tld'          => 'fr'
            )
        );
        $pathRouteAdmin = new Zend_Controller_Router_Route(
            '/:language/:controller/:action/*',
            array(
                  'module'     => 'admin',
                  'controller' => 'index',
                  'action'     => 'index',
            ),
            array('language'   => '^(fr|en)$',
                  'module'     => '^(admin)$'
            )
        );
        $this->router->addRoute('admin', $hostnameRouteAdmin->chain($pathRouteAdmin));
    }

Mon erreur principale venait du fait que j'utilisais :module au lieu de la variable :sitename de la route des sous domaine.
Par contre j'ai encore un problème puisque pour les sous domaines, je vérifie que ^(jeu1|jeu2|jeu3)$, pour être sur que www n'est pas considéré comme un jeu, mais il vaudrait mieux faire le contraire. Si quelqu'un est meilleur que moi en expressions régulières ?

Dernière modification par martinsupiot (20-02-2010 23:09:09)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages