xsendfile不能与mod_rewrite一起使用

时间:2012-10-09 22:50:06

标签: php apache mod-rewrite apache2 x-sendfile

我正在尝试从重写的网址发送文件。 在.htaccess文件里面我有:

RewriteRule ^foo$ foo.php [L]

在foo.php中:

header("x-sendfile: ".$_SERVER["DOCUMENT_ROOT"]."/filesdir/test.txt");

直接浏览foo.php时,我会看到该文件的内容,但浏览到/ foo时,我会得到404.

我试图在网上搜索但除了将foo重定向到foo.php之外找不到任何解决方案

有谁知道问题是什么以及如何解决?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。

在httpd.conf中有XSendFilePath指令,这是一个已解析的符号路径,而在php中,“filesdir”实际上是指向XSendFilePath中路径的符号链接。

我已将symoblic链接添加到XSendFilePath,现在一切正常!