将文件夹“image”理解为控制器

时间:2010-06-28 14:14:59

标签: zend-framework controller

当我尝试访问应用程序中控制器中的URL http://localhost/mysite/public/images/grey-arrow.gif时,出现错误:

致命错误:C:\ xampp \ php \ PEAR \ Zend \ Controller \ Dispatcher \ Standard.php中未捕获的异常'Zend_Controller_Dispatcher_Exception',消息'指定的控制器无效(图像)':242堆栈跟踪:#0 C:\ xampp \ php \ PEAR \ Zend \ Controller \ Front.php(946):Zend_Controller_Dispatcher_Standard-> dispatch(Object(Zend_Controller_Request_Http),Object(Zend_Controller_Response_Http))#1 D:\ Users \ 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:\ Users \ rnem \ w ... ')在第242行的C:\ xampp \ php \ PEAR \ Zend \ Controller \ Dispatcher \ Standard.php中抛出#3 {main}

为什么认为图像是控制器而不是文件夹呢?!

4 个答案:

答案 0 :(得分:2)

/ public中的.htaccess文件中有什么内容?

答案 1 :(得分:0)

这就是我所拥有的

# 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

答案 2 :(得分:0)

我认为您可能需要通过虚拟主机配置访问您的网站,而不是仅通过localhost进行路径访问。我怀疑URL重写器无法找到您的图像文件,因为它不知道public是根目录文件的服务,因此它会尝试将URL解释为控制器操作。

Zend Framework Quickstart

中介绍了创建虚拟主机

答案 3 :(得分:0)

zend的默认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]

放手一搏。如果这不起作用,上面提到的虚拟主机应该是:

NameVirtualHost *:80

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

将它放入vhosts conf文件中,记得取消注释httpd.conf中的vhosts行。这可能有所帮助,http://www.tildemark.com/software/servers/setting-up-virtual-hosts-with-xampp-running-on-windows-xp.html,否则谷歌上有很多giudes