当我尝试访问应用程序中控制器中的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}
为什么认为图像是控制器而不是文件夹呢?!
答案 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解释为控制器操作。
答案 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