将CSS重写为PHP文件时,IE9 Acceptheader中断

|| 我的应用程序完全依赖于mod_rewrite将图像/ JS / CSS url重写为PHP文档,其中一个参数中包含文件名。 例如: /帐户/帐户名称/路径/到/文件 重写为:/account/accountname.php?fileName=/path/to/file php将以正确的mimetype和文件响应。 要解决一个明显的问题:为什么不直接将其重写为文件: 无法完成,PHP文件使用每个帐户(版本)使用不同的文件内容进行响应,并且唯一已知\ version dir \的位置是在PHP文件本身中。 现在,此功能适用于除IE9之外的所有浏览器。他们显然发送了一个请求标头,其中包含一个仅与text / css匹配的accept-header(其中FF4仍与text / css,/匹配)。看起来很好,除了apache拒绝在收到mime-header之前解析PHP文档。我只是不知道如何使apache解析CSS文件,并且仅在解析文件后才响应acceptheader(或者根本不行,对我来说还好) 希望有人能给出答案。将对您有所帮助 提前致谢! 提姆     
已邀请:
        您想要的mod称为X-SendFile。当从PHP文件中使用该文件时,它允许Apache引擎像直接请求该文件一样提供最终文件: 您只需要在主机上下载并启用mod_xsendfile。 文章:http://codeutopia.net/blog/2009/03/06/sending-files-better-apache-mod_xsendfile-and-php/ 例:
// Look up ABSOLUTE PATH to file, etc
$file_path = ...
header(\"X-Sendfile: $file_path\");
exit();
这将告诉Apache直接在$ file_path下提供文件。不要糊涂,不要大惊小怪!     
        我的Serendipity Blog引擎遇到了同样的问题。由于重写规则,IE10不接受从PHP创建的CSS文件。将[...,T = text / css]添加到.htaccess中的重写规则为我解决了问题。
RewriteRule ^(serendipity\\.css|serendipity_admin\\.css) index.php?url=/$1 [L,QSA,T=text/css]
    

要回复问题请先登录注册