Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Dur de se mettre à Zend au moment où les bouquins et les tutos sont en 1.7 et la doc en 1.8...
J'ai un souci avec la 1.8, car mon application n'est pas à la racine de mon nom de domaine, et je ne sais pas comment lui dire qu'il ne doit pas prendre en compte le premier répertoire.
Ma racine est http://humanworldvideo.net/dev/
a l'intérieur, j'ai plusieurs modules (default et admin, assez classiquement).
En 1.7, j'arrive à lui dire dans le bootstrap comment gérer mes modules, par contre pour le répertoire par défaut, je ne vois pas. J'ai essayé de caser un RewriteBase dans mon htaccess, mais ca n'a pas vraiment les résultats escomptés.
Pour le reste, j'arrive à faire tourner mes contrôleurs, j'ai les trucs de base qui fonctionnent, par contre sur la configurations des routes, j'y comprends rien...
J'aimerais également passer en 1.8 tant qu'à faire, pour pas être à la ramasse à la prochaine évolution...
Merci de votre aide,
FX
Dernière modification par pbpg (12-06-2009 10:17:33)
Hors ligne
Salut mets dans ton .htaccess et ca devrais fonctionné
RewriteRule ^.*$ /dev/index.php [NC,L]
Dernière modification par tamildark (10-06-2009 17:59:05)
Hors ligne
c'est pire en fait. le problème de base, c'est qu'il prend le premier répertoire comme contrôleur. ca n'est pas vraiment lié au htaccess, pour cette partie, amha.
mon htaccess actuel :
RewriteEngine on # RewriteBase /dev/ # RewriteBase /dev_hwv/ # RewriteRule ^/?$ public/index.php/index/ RewriteCond %{REQUEST_FILENAME} !-f # RewriteRule ^(.*)$ public/index.php/$1 RewriteRule ^.*$ /dev/public/index.php [NC,L]
Hors ligne
Je ne suis pas un expert en htaccess, mais le htaccess que m'a généré zend ressemble a ceci
SetEnv APPLICATION_ENV development RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ /tonDossier/index.php [NC,L]
si tu nous fournis le contenu de ton répertoire dev je pourrais peut être t'aidai.
Hors ligne
là c'est plié :
You don't have permission to access /dev/ on this server.
J'ai remis mon htaccess initial, et j'ai bien accès à ma page index, mais avec le message d'erreur du départ :
Message: Invalid controller specified (dev)
ce qui veut bien dire que c'est juste le rooteur qui est à configurer, le htaccess en lui même trouve bien ma page index.
Le contenu de mon répertoire ? je ne suis pas sur de voir ce que tu veux
.htaccess - application -- admin_hwv -- default - public -- index.php -- css -- media
Je n'ai pas mis index.php à la racine, parce que dans les tutoriaux 1.7 il était là.
voilà le contenu de mon bootstrap :
error_reporting(E_ALL|E_STRICT); ini_set('display_errors', 'on'); // initiation du chemin ini_set('include_path', ini_get('include_path'). PATH_SEPARATOR. '../library/'); // ini_set('include_path', '../../library/'); $app_path = '../application/'; $module_path = 'default'; // includes require_once "Zend/Loader.php"; Zend_Loader::loadClass('Zend_Controller_Front'); // get the front controller instance $front = Zend_Controller_Front::getInstance(); $front->setControllerDirectory($app_path.$module_path.'/controllers'); $front->throwExceptions(false); // langues Zend_Loader::loadClass('Zend_Translate'); Zend_Loader::loadClass('Zend_Validate'); Zend_Loader::loadClass('Zend_Form'); $translate = new Zend_Translate('csv', $app_path.$module_path.'/languages', null, array('scan' => Zend_Translate::LOCALE_FILENAME)); $langLocale = isset($session->lang) ? $session->lang : 'fr'; $translate->setLocale($langLocale); // $translate->setCache($cacheInstance); Zend_Registry::set('Zend_Translate', $translate); // Zend_Validate_Abstract::setDefaultTranslator($translate); Zend_Form::setDefaultTranslator($translate); // lancement de l'application $front->dispatch();
Je ne vois pas quoi vous dire d'autre, si ce n'est que ca me paraît bizarre d'être le seul à vouloir avoir une appli qui ne fonctionne pas forcément à la racine du nom de domaine. J'ai regardé le principe des routes sous ZF, mais je n'ai pas pas envie de passer par Regexp car le fonctionnement automatique me convient, je veux juste lui dire que la racine de mon site c'est pas / mais /dev/.
Dernière modification par pbpg (11-06-2009 22:17:49)
Hors ligne
Bonjour,
Dans ton cas, je pense qu'il faut que tu précises au contrôleur frontal la 'base' de tes URL.
Comme dans ton cas, la racine ne pointe pas vers ton dossier /public mais vers ton dossier /dev ton ficher htaccess doit être dans ton répertoire /dev et renvoyer les requêtes vers /public/index.php.
# .htaccess dans dossier /dev SetEnv APPLICATION_ENV development RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ public/index.php [NC,L]
Puis tu précises au contrôleur frontal que la base de tes url est '/dev'
$front = Zend_Controller_Front::getInstance(); $front->setBaseUrl('/dev'); // affecte la base d'url
Je pense que celà devrait répondre à ton problème.
(pour info l'exemple est dans la doc en ligne et elle est traduite)
Par contre pour indiquer l'adresse d'un css (par exemple) il te faudra écrire: dev/public/css/monCss.css
Bonne continuation
PatStey (débutant ZF)
Hors ligne
patstey a écrit:
Dans ton cas, je pense qu'il faut que tu précises au contrôleur frontal la 'base' de tes URL.
C'est ce que je cherche à faire depuis des jours !! merci beaucoup pour ce coup de main !!!!
patstey a écrit:
(pour info l'exemple est dans la doc en ligne et elle est traduite)
oh j'imaginais bien que l'info était qqpart, le souci c'est de la trouver. Je ne m'y retrouve pas vraiment dans la doc officielle.
Par contre pour indiquer l'adresse d'un css (par exemple) il te faudra écrire: dev/public/css/monCss.css
même si j'utilise un helper pour générer mon url ?
Merci !
Hors ligne
pbpg a écrit:
même si j'utilise un helper pour générer mon url ?
Il faut que ton helper permette de générer l'url de tes fichiers statiques.
PS: pour la doc voir la partie sur le controleur fontal de Zend_Controller
Dernière modification par patstey (12-06-2009 10:15:50)
Hors ligne
Pages: 1