2012-04-21 40 views
1

我有一個網站託管在我的本地服務器(http:// localhost /),它使用url_rewriting。本地主機上的CURL與MOD_REWRITE - > 404(但罰款在瀏覽器中)

當我使用瀏覽器訪問頁面時,沒有問題,它正在加載。
但是,當我用PHP cUrl作者訪問同一個網址,我得到一個404

例子:
URL與mod_rewrite的:http://localhost/site/test
真實頁:http://localhost/site/test.php

加載http://localhost/site/test從Firefox:工作

使用cUrl加載:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://localhost/site/test"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
$output = curl_exec($ch); 
curl_close($ch); 

$輸出 - 從阿帕奇> 404頁

任何人知道爲什麼cUrl作者:返回一個404的消息?

+0

找出爲什麼你的web服務器爲cURL請求返回404。也許請求不是你想象的那樣,也許你的web服務器打開了一些可選的頭文件(如User-Agent)。添加一個像一個全能型的「RewriteRule」,記錄請求並進行比較。 – Halcyon 2012-04-21 15:44:29

+0

你的RewriteRules是什麼?你在做外部重定向或內部重寫嗎?如果前者需要在curl配置中包含後續選項。 – 2012-04-21 16:59:15

回答

0

原來這與mod_rewrite無關。
URL中的一個目錄中有一個空格,在調用cUrl函數時我沒有編碼。 一旦將所有空間替換爲%20,一切正常。

標題已關閉。

相關問題