我正在尝试从我的托管服务器执行一个简单的 curl 命令,它返回 404 ,但是当我从我自己的机器或浏览器运行相同的命令时,它工作正常。
奇怪的部分是我在同一台服务器上运行两个网站,第二个网站通过在服务器上或我的机器上使用 curl 运行良好。但是这个有一个问题,它适用于索引页面,但任何其他页面都会返回 404。
我已经检查了 htacess 和日志,没有任何帮助。
我查看了许多其他帖子和谷歌,但找不到有效的答案。感谢您的帮助。
我正在使用 Cent Os 4 。
如果是代理问题,请在 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/ 子目录,因为你的主机为你做代理。然后你会在你的机器上查询它不知道的子目录。
可悲的是,没有人能说出来,除非他能亲自看看这台机器。但是现在你已经掌握了所有这些问题,我很肯定你会更接近解决方案。
您需要确定机器是否在本地知道其 dns 条目。
因此,您在家中使用的 DNS 服务器知道 url 中编码的服务器就是该特定服务器。而宿主机的外向路由器显然也知道这一点。但这并不意味着机器本身也知道这一点。
所以尝试一个
nslookup www.yourdomain.com
从托管服务器的 shell 中查看它是否知道自己的身份。
如果没有,您可以在 hosts 文件中输入您的域作为 127.0.0.1 的附加条目。
域名解析总是首先使用 hosts 文件,然后是配置的 dns 服务器 - 然后失败。