Apache ForceType / SetHandler 未按预期响应

Apache ForceType / SetHandler 未按预期响应

我试图强制 apache 将文件(或文件目录)作为 php 处理,而不管文件扩展名是什么。

该文件的链接如下, Http://mysitehere.info/sig2/name.png

我努力了,

<FilesMatch “\.(jpg|jpeg|png|gif|swf|flv|ico)$”> SetHandler application/x-httpd-php </FilesMatch>

这不起作用,返回一个损坏的图像图标,name.png 文件名和 404 未找到,当尝试使用sig2/name.png/

我也尝试过,

<Files .+*^$[]()> ForceType application/x-httpd-php SetHandler application/x-httpd-php </Files>

我从以下位置获取了该 .htaccess 文件内容ForceType Sethandler 代码为什么这样做有效 这次返回的结果与第一次尝试相同。只有 404 或损坏的图像。

我也尝试过,

<Files "name.png"> SetHandler application/x-httpd-php </Files>

这确实“有效”,但它没有达到它的目的需求到。通过访问图像name.png会给我一个损坏的图像。通过访问它可以name.png/正常工作,但原因我不确定。

我已确保在 httpd.conf 中为图像目录设置了 AllowOverride All。 <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require All Granted </Directory>

我认为这应该足以让 Sethandler 或 ForceType 工作,但是我仍然无法获得我想要的效果。请注意,我的服务器上没有安装 mod_rewrite。还要注意的是,当<Files "name.png"> 我运行 PHP 5.5.9 和最新版本的 Apache2 时,SetHandler 和 ForceType 具有相同的结果。

那么,我是不是做错了什么事情,或者我缺少 sethandler 所需的模块?

答案1

我发现我的代码中有一个重大错误,将标题设置为文本。这是代码中的致命错误,确实会返回损坏的图像。修复了错误,以上所有内容实际上都可以正常工作。

相关内容