2010-08-09 35 views
0

virtual()只能在PHP作爲apache模塊運行時使用。我的共享主機將其作爲CGI運行,因此不起作用。有沒有其他方法可以做到這一點?PHP-CGI的子請求

注意:子請求是用於我想讓Apache服務的靜態文件(用於性能,HTTP頭緩存等)。現在,這是通過使用PHP腳本發出的HTTP重定向(我想擺脫的)來處理的。

回答

0

最後我實際上找到了一種方法來使用X-Sendfile Apache module來做到這一點。 發送文件是那麼容易,因爲執行

header("X-Sendfile: $local_file"); 
exit(); 
0

如果它們是靜態文件,爲什麼不包括()它們?

強制apache做一個子請求看起來很浪費。

如果它們不是真的是靜態的,則可以始終構造一個URL並使用file_get_contents()發出回送請求。

<?PHP 
$include_me = '/some/dynamic/script.php'; 
$content = file_get_contents($include_me); 
echo $content; 
+0

我不包括或讀回聲他們,最重要的,因爲這樣,我沒有得到的Apache設置所有的HTTP標頭爲我。另外,對於靜態大文件,你的方法效率很低。 – CAFxX 2010-08-10 21:22:48

+0

p.s.重讀我的第一篇文章,我意識到我需要Apache設置頭文件的事實並不清楚。對於那個很抱歉。 – CAFxX 2010-08-10 21:24:25

+0

你認爲Apache會發送什麼標題?我認爲你對virtual()實際上做了什麼感到困惑。我閱讀文檔的方式,在靜態文件上使用virtual()是毫無價值的,只會產生不必要的開銷。 – timdev 2010-08-10 22:01:52