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 -IndexesMaintenant, 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 -IndexesVoici 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