我有一个问题,我试图通过目标=空白的锚链接在新窗口中显示我的图像文件夹中的图像。
我将重写规则添加到公共文件夹.htaccess中,如帖子Zend keep front controller from blocking image requests中所述,但它仍然给出了如下错误,但无法找出原因。
页面中使用的所有其他图像都显示正常,只有链接的图像为:
<a href="/images/balloon.jpeg" target="_blank">Balloon</a>
异常消息是
Exception information:
Message: Invalid controller specified (images)
Stack trace:
#0 /home/euphoria/public_html/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#1 /home/euphoria/public_html/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#2 /home/euphoria/public_html/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#3 /home/euphoria/public_html/public/index.php(25): Zend_Application->run()
#4 {main}
Request Parameters:
array (
'controller' => 'images',
'action' => 'profile_uploads',
'module' => 'default',
)
我的公用文件夹.htaccess是
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php
RewriteRule ^.*$ index.php [NC,L]
我的images文件夹中有另一个.htaccess文件,通过使用图像文件停止执行php,其内容是
php_flag engine off
当我将上述.htaccess添加到images文件夹时,Zend尝试重定向到'images'控制器的上述问题才开始出现。
当我删除具有“php_flag引擎关闭”规则的.htaccess时问题消失
图片及其文件夹是CHMOD 777,该网站位于共享主机环境中的自己的域中。 (与子域相对)
非常感谢
答案 0 :(得分:1)
你确定DOCUMENT_ROOT文件夹中有一个文件夹“images”,它包含一个名为“balloon.jpeg”的图像?
第二次重写规则基本上没用。
扔掉它。 Zend框架的标准重写是有效的。如果不是你的情况,你做错了,很可能你没有将你的图像放在它所属的位置。