2010-01-29 37 views
0

如何指定filepath来映像功能?它似乎总是在MVC Zend Framework中使用时在“/ public”文件夹中创建文件,甚至在提供显式文件路径时也如此。是因为我有重写规则吗?我的.htaccess重写规则是为下:imagepng - 在/公用文件夹中创建

FileETag none 
<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresDefault "access plus 10 years" 
ExpiresByType image/gif "access plus 10 years" 
ExpiresByType image/jpeg "access plus 10 years" 
ExpiresByType image/png "access plus 10 years" 
ExpiresByType text/css "access plus 10 years" 
ExpiresByType text/html "access plus 1 seconds" 
ExpiresByType text/javascript "access plus 10 years" 
ExpiresByType application/x-unknown-content-type "access plus 10 years" 
ExpiresByType application/x-javascript "access plus 10 years" 
</IfModule> 

ExpiresActive On 
ExpiresDefault A604800 
ExpiresByType image/x-icon A2592000 
ExpiresByType application/x-javascript A2592000 
ExpiresByType text/css A2592000 
ExpiresByType text/html A300 
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> 
ExpiresActive Off 
</FilesMatch> 


# compress all text & html: 
AddOutputFilterByType DEFLATE text/html text/plain text/xml 

# Or, compress certain file types by extension: 
<Files *.html> 
SetOutputFilter DEFLATE 
</Files> 

RewriteEngine on 
# The leading %{DOCUMENT_ROOT} is necessary when used in VirtualHost context 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -s [OR] 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -l [OR] 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 

RewriteRule ^.*$ index.php [NC,L] 

回答

1

编辑:经仔细检查这是你的重写规则......你为什么要使用%{DOCUMENT_ROOT}?你不应该在你的重写栈中提到它。这应该直接映射到你的vhost配置中。如果你必须这样做才能让Zend工作,那么在你的应用配置或者你的虚拟主机中都有问题。如果你是在docroot的子目录外托管前端控制器的baseurl。


你试图写入的路径是什么?你应该使用完整的文件系统路径要在其中例如写入的图像:

imagepng($image, APPLICATION_PATH.'/public/images/generated_image.png');

你应该使用其他动态工具建立的情况下,这条道路你改变实际的目录public但那是只是一个简单的例子:-)

如果您使用相对路径,路径将始终相对于public,因为那是dir index.php所在,它处理所有内容。由于标准的重写规则/路由,浏览器中的URL并不一定反映出您正在使用的路径。

+0

有趣的是,默认情况下它将“/ public /”添加为前缀。因此,即使我指定APPLICATION_PATH。'/ public/images/generated_image.png',它似乎会将其写为'/public/'.APPLICATION_PATH.'/public/images/generated_image.png' 我该如何摆脱/公共前缀? – Jake 2010-01-29 23:15:22

+0

看到我上面的修改。 – prodigitalson 2010-01-29 23:23:01

相关问题