1

我正在尝试从我的托管服务器执行一个简单的 curl 命令,它返回 404 ,但是当我从我自己的机器或浏览器运行相同的命令时,它工作正常。

奇怪的部分是我在同一台服务器上运行两个网站,第二个网站通过在服务器上或我的机器上使用 curl 运行良好。但是这个有一个问题,它适用于索引页面,但任何其他页面都会返回 404。

我已经检查了 htacess 和日志,没有任何帮助。

我查看了许多其他帖子和谷歌,但找不到有效的答案。感谢您的帮助。

我正在使用 Cent Os 4 。

4

2 回答 2

1

如果是代理问题,请在 httpd.conf 中查找类似内容:

反向代理

ProxyPass /foo http://foo.example.com/bar
ProxyPassReverse /foo http://foo.example.com/bar

正向代理

ProxyRequests On
ProxyVia On

<Proxy *>
Order deny,allow
Deny from all
Allow from internal.example.com
</Proxy>

如您所见,其中可能有一个 allow from 指令,这就是您可能遇到的情况。

也可能是,如果你在主机上,你看不到 /blog/ 子目录,因为你的主机为你做代理。然后你会在你的机器上查询它不知道的子目录。

可悲的是,没有人能说出来,除非他能亲自看看这台机器。但是现在你已经掌握了所有这些问题,我很肯定你会更接近解决方案。

于 2012-07-20T18:29:15.580 回答
1

您需要确定机器是否在本地知道其 dns 条目。

因此,您在家中使用的 DNS 服务器知道 url 中编码的服务器就是该特定服务器。而宿主机的外向路由器显然也知道这一点。但这并不意味着机器本身也知道这一点。

所以尝试一个

nslookup www.yourdomain.com

从托管服务器的 shell 中查看它是否知道自己的身份。

如果没有,您可以在 hosts 文件中输入您的域作为 127.0.0.1 的附加条目。

域名解析总是首先使用 hosts 文件,然后是配置的 dns 服务器 - 然后失败。

于 2012-07-20T16:54:07.693 回答