2012-04-21 47 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,一切正常。

标题已关闭。

相关问题