2

我正在尝试使用 htaccess 中的这一行将 mp3 文件解析为 php:

AddHandler application/x-httpd-php5 .mp3 .MP3

目的是运行 auto_prepend_file

一切正常。但是在运行 auto_prepend_file 之后,服务器会输出 mp3 并运行时出现错误,例如:

Warning: Unexpected character in input: '' (ASCII=23) state=0 i

似乎它将mp3文件解析为php。无论如何只是告诉服务器将 mp3 文件视为 php,这样我就可以使用 auto_prepend_file 指令,然后取消 php 处理

(我不能为此使用 mod_rewrite)

问题归结为:有没有办法在中间脚本中取消 php 解析。这样处理后,mp3就会通过?

4

1 回答 1

1

我会这样尝试:使用 mod_rewrite 来运行 php 脚本。

RewriteRule (\w+\.mp3)$ phpscript.php?file=$1

在这个脚本中,添加你想要的东西,然后读取给定的文件并输出它。

<?php
$file = $_GET['file'];
include("prependfile.php");

header('Content-Type: audio/mpeg3');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
readfile($file);
?>
于 2013-02-08T08:55:41.810 回答