奇怪的 htaccess 问题和 php 拒绝内部请求

奇怪的 htaccess 问题和 php 拒绝内部请求

我已经添加了

Order Deny,Allow
Deny from all
allow from *my ip*

到我的 htaccess 文件,但是现在当我使用像 getimagesize 这样的函数时,尝试从服务器上的本地文件检索数据时出现错误。

错误:[function.getimagesize]:无法打开流:达到重定向限制

当我删除 htaccess 中的行时,它就可以正常工作了。我还尝试添加“allow from localhost”和“allow from 127.0.0.1”,但无济于事。

答案1

既然是本地的,为什么还要使用 HTTP 请求来获取图像详细信息?本地路径会绕过 Web 服务器,使这个问题变得毫无意义。它还会更加高效,因为您不会创建/请求/接收/拆除整个 HTTP 请求序列。

代替

 file_get_contents('http://yourserver.com/url/to/image.jpg');

使用

 file_get_contents('/file/system/path/to/image.jpg');

答案2

您的 htaccess 似乎正确,但不能保证 Apache 会遵守它。检查 Apache 的 error_log 以获取有关拒绝访问的原因以及您是否被允许覆盖这些设置的更多详细信息。

如果这些文件是本地的,您可能应该指定本地路径而不是通过 HTTP。

相关内容