【发布时间】:2012-04-21 15:39:55
【问题描述】:
我的本地服务器 (http://localhost/) 上托管了一个网站,该网站使用 url_rewriting。
当我使用浏览器访问页面时,没问题,它正在加载。
但是当我使用 PHP cUrl 访问相同的 url 时,我得到了 404。
示例:
带有 mod_rewrite 的 URL:http://localhost/site/test
实页:http://localhost/site/test.php
从 Firefox 加载 http://localhost/site/test:工作中
使用 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);
$output -> 来自 apache 的 404 页面
有人知道为什么 cUrl 返回 404 消息吗?
【问题讨论】:
-
找出您的网络服务器为 cURL 请求返回 404 的原因。也许请求不是您认为的那样,也许您的网络服务器打开了一些可选的标头(如 User-Agent)。添加一个
RewriteRule,就像一个包罗万象,记录请求并进行比较。 -
你的 RewriteRules 是什么?你是在做外部重定向还是内部重写?如果是前者,您需要在 curl 配置中包含以下选项。
标签: php mod-rewrite curl url-rewriting localhost