2010-06-28 8 views
0

Lorsque je tente d'accéder à l'URL http://localhost/mysite/public/images/grey-arrow.gif dans un contrôleur dans mon application je reçois l'erreur:dossier Comprendre « image » en tant que contrôleur

Erreur fatale: Uncaught exception « Zend_Controller_Dispatcher_Exception » message « contrôleur spécifié non valide (images) dans C: \ xampp \ php \ PEAR \ Zend \ Contrôleur \ Dispatcher \ Standard.php: 242 Stack trace: # 0 C: \ xampp \ php \ PEAR \ Zend \ Contrôleur \ Front.php (946): Zend_Controller_Dispatcher_Standard- > dispatch (Objet (Zend_Controller_Request_Http), Objet (Zend_Controller_Response_Http)) # 1 D: \ Utilisateurs \ rnem \ www \ mysite \ application \ Bootstrap_Aplicativo.php (64): Zend_Controller_Front-> dispatch() # 2 D: \ Users \ rnem \ www \ regnet3.0 \ home \ index.php (3): include_once ('D: \ Utilisateurs \ rnem \ w ...') # 3 {main} lancé dans C: \ xampp \ php \ PEAR \ Zend \ Controller \ Dispatcher \ Standa rd.php sur la ligne 242

Pourquoi est-ce qu'il pense que les images sont un contrôleur au lieu d'un dossier tel qu'il est ?!

Répondre

2

Que possédez-vous dans votre fichier .htaccess dans/public?

+0

En effet, cela se produit lorsque vos RewriteRules correspondent à toutes les demandes, ou correspondent à des demandes qui ne correspondent pas à un fichier sur le disque –

0

C'est ce que je

# Rewrite rules for Zend Framework 
RewriteEngine on 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 

# Security: Don't allow browsing of directories 
Options -Indexes 
+0

Et le fichier existe-t-il? – Chris

0

Je pense que vous pourriez avoir besoin d'accéder à votre site via une configuration d'hôte virtuel, au lieu de chemin-ing juste via localhost. Je soupçonne que le réécriveur d'URL ne trouve pas votre fichier image car il ne sait pas que public est le répertoire racine des fichiers, donc il revient à essayer d'interpréter l'URL comme une action du contrôleur.

Création d'un hôte virtuel est couvert dans le Zend Framework Quickstart

0

Le htaccess par défaut pour zend est:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ /index.php [NC,L] 

Donnez qu'un coup. Si cela ne fonctionne pas les vhosts mentionnés ci-dessus devraient être:

NameVirtualHost *:80 

<VirtualHost *:80> 
ServerName localhost 
DocumentRoot D:/Users/rnem/www/mysite/public 
</VirtualHost> 

Mettez cela dans votre fichier vhosts conf, rappelez-vous décommenter la ligne vhosts dans votre httpd.conf. Cela peut aider, http://www.tildemark.com/software/servers/setting-up-virtual-hosts-with-xampp-running-on-windows-xp.html, sinon il ya beaucoup de giudes sur google

Questions connexes