2012-10-09 58 views
1

我試圖從重寫的URL發送文件。 裏面的.htaccess文件我有:xsendfile將無法使用mod_rewrite

RewriteRule ^foo$ foo.php [L] 

在foo.php:

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

當瀏覽到直接foo.php我看到文件的內容,但瀏覽的時候/我FOO得到404

我試着在網上搜索也沒有找到這個不是重定向富其它任何解決foo.php

有誰知道出了什麼問題以及如何解決它?

回答

0

我解決了這個問題。

在httpd.conf中有XSendFilePath指令,它是一個已解析的符號路徑,而在PHP中,「filesdir」實際上是XSendFilePath中路徑的符號鏈接。

我已經將symoblic鏈接添加到XSendFilePath,現在一切正常!

+1

我和你有同樣的問題,但我不確定你的解決方案是否也適用於我的情況。只要我使用由getenv('document_root')生成的絕對路徑,他們不應該使用任何符號鏈接,是嗎?或者我在這一點上錯過了什麼? 你是否真的好好看看我的帖子呢? (http://stackoverflow.com/questions/20705731/mod-xsendfile-wont-work-with-cgi-and-mod-rewrite) –