Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Salut,
quand j'ajoute un sous domaine dans la route d'une app existante, assetManager ne fonctione pas pour le sous domaine en question.
Prenons par exemple la configuration suivante (ou a peut près je la fait de tête):
[lang=php] return [ 'router'=>[ 'routes'=>[ //mes routes déjà existante 'home'=>[ 'type'=>'Literal', 'options'=>[ 'route'=>'/', 'default'=>[ 'controller'=>'My_Controller_01', 'action'=>'index' ] ], // ...suivie de toute les routes édjà existante ], //configuration d'un sous domaine 'subdomaine1'=>[ 'type'=>'Hostname', 'options'=>[ 'route'=>'sites01.local', 'default'=>[ 'controller'=>'My_Controller_sub01', 'action'=>'index' ] ], 'may_terminate' => true, 'child_routes' => [ 'home'=>[ 'type'=>'Literal', 'options'=>[ 'route'=>'/', 'default'=>[ 'controller'=>'My_Controller_sub01', 'action'=>'index' ] ] ] // ... ] ], ] ] ];
Bon sa marche, mais quand je charge l'index du sous domaine, j'obtient des 404 quand je veut accèder au dossier rendu public par AssetManager.
config de assetManger par exemple (encore une foi de tête, j'ai pas les code sous les noeil donc y'a peut être des clé mal nommé:
[lang=php] 'resolver_config' => [ 'collections' => [ 'js/jquery.js' => [ '/js/jquery.min.js', '/js/jquery-migrate.min.js', '/js/jquery-ui-1.8.js', ] 'paths' => [ __DIR__ . '/../public', ] ] ]
si je fait domaineprincipal/js/jquery.js -> 200
si je fait sites01.local/js/jquery.js ->404
J'ai essayer de configurer le principal dans la route, mais du coup je n'accède plus a rien depuis le principal.
D'ailleur il faudra que je configure le principal na? et du coup je doit réencapsuler toute les route de tout mes module dedans? :s
Bref je patauge x)
Dernière modification par Splyf (04-12-2014 08:04:31)
Hors ligne
Hello
Vérifie que ton sous-domaine pointe au bon endroit, il est fort probable que le dossier "domaineprincipal/js" et "sites01.local/js" ne soient en réalité pas le même dossier
tu peut checker ton chemin avec getcwd() par exemple
Dernière modification par flobrflo (04-12-2014 14:33:20)
Hors ligne
d'ou doit-je faire le test? getcwd() placé dans l'index me donne le chemin absolue du projet quelque sois le doit domaine.
la route me configure bien le bon Controller et la bonne action pour les domaines configurer, c'est juste les dossier "public" configurer par AssetManager qu'il ne trouve pas.
Comment faire "pointé" le sous domaine au bonne endroit le cas échéant?
marchi pour l'aide
Hors ligne
En fait les routes de ton controlleur sont basés uniquement sur ton url, c'est pour ça que quelque soit ton domaine tes routes fonctionnent.
Pour ce qui est de tes ressources Js, c'est basé sur le répertoire courant.
pour vérifier en php que ta ressource existe tu peu faire un file_exist aussi.
en supposant que ton sous domaine n'arrive pas exactement au bon endroit poru la récupération des Js, tu peu passer par un lien symbolique pour les récupérer
Dernière modification par flobrflo (05-12-2014 09:55:16)
Hors ligne