Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai un problème avec les divers chemins utilisés dans mon application pour les images, les CSS, les fichiers js et même les liens HTML.
Tout d'abord, voici la structure de mon application :
- application --- controllers --- models --- views ----- helpers ----- layouts ----- scripts - library --- Zend --- SiLigny - public --- css --- documents --- img --- js --- .htaccess --- index.php - index.html (ce fichier redirige simplement vers le répertoire "public")
Voici le contenu du fichier .htaccess :
# Rewrite rules for Zend Framework RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* index.php # Security: Don't allow browsing of directories Options -Indexes
Maintenant, mon problème est le suivant : mes chemins vers mes images et mes url pour mes leins sont erronés et donc les site ne fonctionne pas.
Voici un exemple de chemin erroné pour une image :
/public/index.php/img/common/IMG_1642.JPG
Voici un exemple de chemin erroné pour un lien :
/public/index.php/organisation
Pourriez-vous me dire d'où provient le problème et surtout comment le corriger ?
Merci d'avance.
hlionel
Hors ligne
Ton fichier htaccess n'a pas l'air complet, il devrait ressembler à ça :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
Dernière modification par miboo (27-03-2009 11:09:49)
Hors ligne
OK je testerai cela en rentrant ce soir car là je suis au boulot.
hlionel
Dernière modification par hlionel (27-03-2009 12:01:56)
Hors ligne
Bonsoir,
La solution n'est pas celle-là car le problème persiste.
Voici l'adresse du site posant problème :
www.si-ligny.be
Voici mon fichier .htaccess ;
RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ /index.php [NC,L] # Security: Don't allow browsing of directories Options -Indexes
Voici mon fichier application/bootstrap.php :
<?php class Bootstrap { public function __construct($configSection = 'live') { $GLOBALS['startTime'] = microtime(true); $rootDir = dirname(dirname(__FILE__)); define('ROOT_DIR', $rootDir); set_include_path(get_include_path().PATH_SEPARATOR.ROOT_DIR.'/library/'.PATH_SEPARATOR.ROOT_DIR.'/application/models/'); include 'Zend/Loader.php'; Zend_Loader::registerAutoload(); // Load configuration Zend_Registry::set('configSection', $configSection); $config = new Zend_Config_Ini(ROOT_DIR.'/application/config.ini', $configSection); Zend_Registry::set('config', $config); date_default_timezone_set($config->date_default_timezone); // configure database and store to the registery $db = Zend_Db::factory($config->db); Zend_Db_Table_Abstract::setDefaultAdapter($db); Zend_Registry::set('db', $db); } public function runApp() { // Start a session if needed if (!Zend_Session::sessionExists() && !Zend_Session::isStarted()) { Zend_Session::start(); } // setup front controller $frontController = Zend_Controller_Front::getInstance(); $frontController->throwExceptions(false); $frontController->setControllerDirectory(ROOT_DIR . '/application/controllers'); $frontController->registerPlugin(new Siligny_Controller_Plugin_ActionSetup()); $frontController->registerPlugin(new Siligny_Controller_Plugin_ViewSetup(), 98); Zend_Layout::startMvc(array('layoutPath' => ROOT_DIR . '/application/views/layouts', )); // run! try { $frontController->dispatch(); } catch (Exception $exception) { // an exception has occurred after the ErrorController's postdispatch() has run if(Zend_Registry::get('config')->debug == 1) { $msg = $exception->getMessage(); $trace = $exception->getTraceAsString(); echo "<div>Error: $msg<p><pre>$trace</pre></p></div>"; } else { try { $logFile = Zend_Registry::get('config')->logFiles->error; $log = new Zend_Log(new Zend_Log_Writer_Stream($logFile)); $log->debug($exception->getMessage() . "\n" . $exception->getTraceAsString() . "\n-----------------------------"); } catch (Exception $e) { // can't log it - display error message die("<p>An error occurred with logging an error!"); } } } } }
Pour info, j'ai également essayer d'utiliser la commande suivante dans mon bootstrap.php mais sans succès car à ce moment-là, les chemins sont bons, mais je reçois le message d'erreur ci-dessous
$frontController->setBaseUrl("/public/")
Voici le message d'erreur reçu :
Error: Invalid controller specified (index.php)
.
Pouvez-vus m'aider pour résoudre ce problème ?
hlionel
Dernière modification par hlionel (27-03-2009 19:24:11)
Hors ligne
Si cela peut aider, je viens de remarquer que mon hébergeur travaille avec IIS plutôt que Apache.
Donc quelle serait la solution à mon problème ?
hlionel
Hors ligne